Example usage for com.rabbitmq.client ConnectionFactory setHost

List of usage examples for com.rabbitmq.client ConnectionFactory setHost

Introduction

In this page you can find the example usage for com.rabbitmq.client ConnectionFactory setHost.

Prototype

public void setHost(String host) 

Source Link

Usage

From source file:at.ac.tuwien.dsg.comot.m.core.test.utils.TestAgentAdapter.java

License:Apache License

public TestAgentAdapter(String adapterId, String host) throws IOException {

    this.adapterId = adapterId;

    ConnectionFactory factory = new ConnectionFactory();
    factory.setHost(host);
    connection = factory.newConnection();
    channel = connection.createChannel();

    channel.queueDeclare(queueNameLifecycle(), false, false, true, null);
    // channel.queueDeclare(queueNameCustom(), false, false, true, null);

    channel.queueBind(queueNameLifecycle(), Constants.EXCHANGE_LIFE_CYCLE, "#");
    channel.queueBind(queueNameLifecycle(), Constants.EXCHANGE_CUSTOM_EVENT, "#");
    channel.queueBind(queueNameLifecycle(), Constants.EXCHANGE_EXCEPTIONS, "#");

    consumerLifecycle = new QueueingConsumer(channel);
    // consumerCustom = new QueueingConsumer(channel);

    channel.basicConsume(queueNameLifecycle(), true, consumerLifecycle);
    // channel.basicConsume(queueNameCustom(), true, consumerCustom);

}

From source file:bank.OurRabbitBank.java

public static void main(String[] args) throws Exception {
    ConnectionFactory factory = new ConnectionFactory();
    factory.setHost("datdb.cphbusiness.dk");
    Connection connection = factory.newConnection();
    Channel channel = connection.createChannel();

    String queueName = channel.queueDeclare().getQueue();
    channel.queueBind(queueName, ExchangeName.GLOBAL, RoutingKeys.OUR_JSON_BANK);

    System.out.println(" [*] Waiting for messages. To exit press CTRL+C");

    QueueingConsumer consumer = new QueueingConsumer(channel);
    channel.basicConsume(queueName, true, consumer);
    while (true) {
        QueueingConsumer.Delivery delivery = consumer.nextDelivery();
        AMQP.BasicProperties properties = delivery.getProperties();
        String message = new String(delivery.getBody());

        Gson g = new Gson();

        Message msg = g.fromJson(message, Message.class);

        System.out.println(" [x] Received '" + message + "'");

        sendToNormalizer(msg, properties);
    }/*from w  w  w  . ja v a2 s. c om*/
}

From source file:bank.OurRabbitBank.java

private static void sendToNormalizer(Message msg, AMQP.BasicProperties props) {
    try {/*from w  w  w.ja  va 2  s .  co  m*/
        Gson g = new Gson();
        ConnectionFactory factory = new ConnectionFactory();
        factory.setHost("datdb.cphbusiness.dk");
        Connection connection = factory.newConnection();
        Channel channel = connection.createChannel();
        //channel.exchangeDeclare(ExchangeName.OUR_JSON_BANK_RESPONSE, "direct");

        int ssn = Integer.valueOf(msg.getSsn());
        double interestRate = calcRate();
        String bank = "OurRabbitBank";
        String correlationId = props.getCorrelationId();

        LoanResponse response = new LoanResponse(ssn, interestRate, bank, correlationId);

        String res = g.toJson(response);

        channel.basicPublish(ExchangeName.OUR_JSON_BANK_RESPONSE, "", props, res.getBytes());

        System.out.println(" [x] Sent '" + res + "'");

        channel.close();
        connection.close();
    } catch (Exception e) {
        System.out.println("Error in OutRabbitBank: " + e.getMessage());
    }
}

From source file:benchmarkio.consumer.rabbitmq.RabbitMQMessageConsumer.java

License:Apache License

public RabbitMQMessageConsumer(final String host, final int port, final String topic, final boolean durable) {
    Preconditions.checkNotNull(host);/*  w  ww  .j a  v  a 2  s  .  com*/
    Preconditions.checkNotNull(topic, "topic cannot be null");

    final ConnectionFactory factory = new ConnectionFactory();
    factory.setHost(host);
    factory.setPort(port);

    try {
        final Connection connection = factory.newConnection();

        this.channel = connection.createChannel();
        this.channel.exchangeDeclare(topic, "topic", durable);
    } catch (final IOException e) {
        throw Throwables.propagate(e);
    }

    this.topic = topic;
    this.histogram = Histograms.create();
}

From source file:benchmarkio.producer.rabbitmq.RabbitMQMessageProducer.java

License:Apache License

public RabbitMQMessageProducer(final String host, final int port, final String topic, final String message,
        final long numberOfMessagesToProduce, final boolean durable) {
    Preconditions.checkNotNull(host);//w  ww. j  a v  a2s .c  o m

    final ConnectionFactory factory = new ConnectionFactory();
    factory.setHost(host);
    factory.setPort(port);

    try {
        final Connection connection = factory.newConnection();

        this.channel = connection.createChannel();
        this.channel.exchangeDeclare(topic, "topic", durable);
    } catch (final IOException e) {
        throw Throwables.propagate(e);
    }

    // To declare a queue
    //channel.queueDeclare(QUEUE_NAME, false, false, false, null);

    this.histogram = Histograms.create();
    this.topic = Preconditions.checkNotNull(topic);
    this.message = Preconditions.checkNotNull(message);
    this.numberOfMessagesToProduce = Preconditions.checkNotNull(numberOfMessagesToProduce);
}

From source file:biospectra.classify.server.RabbitMQInputClient.java

License:Apache License

public synchronized void connect() throws IOException, TimeoutException {
    ConnectionFactory factory = new ConnectionFactory();
    String hostname = this.conf.getRabbitMQHostnames().get(this.hostId);
    factory.setHost(hostname);
    factory.setPort(this.conf.getRabbitMQPort());
    factory.setUsername(this.conf.getRabbitMQUserId());
    factory.setPassword(this.conf.getRabbitMQUserPwd());

    factory.setRequestedHeartbeat(60);/*from  ww  w.  j  a  v  a  2s  . co  m*/

    factory.setAutomaticRecoveryEnabled(true);

    this.connection = factory.newConnection();
    this.shutdownListener = new ShutdownListener() {

        @Override
        public void shutdownCompleted(ShutdownSignalException sse) {
            LOG.error("connection shutdown", sse);
        }
    };

    this.connection.addShutdownListener(this.shutdownListener);

    this.requestChannel = this.connection.createChannel();
    this.responseChannel = this.connection.createChannel();

    LOG.info("reader connected - " + hostname + ":" + this.conf.getRabbitMQPort());

    this.responseChannel.basicQos(10);
    this.queueName = this.responseChannel.queueDeclare().getQueue();

    this.consumer = new DefaultConsumer(this.responseChannel) {
        @Override
        public void handleDelivery(String consumerTag, Envelope envelope, AMQP.BasicProperties properties,
                byte[] body) throws IOException {
            String message = new String(body, "UTF-8");

            this.getChannel().basicAck(envelope.getDeliveryTag(), false);

            LOG.info("> " + message);

            ClassificationResponseMessage res = ClassificationResponseMessage.createInstance(message);
            ClassificationRequest ereq = null;
            synchronized (requestMap) {
                ereq = requestMap.get(res.getReqId());
                if (ereq != null) {
                    requestMap.remove(res.getReqId());
                }
            }

            if (ereq == null) {
                LOG.error("cannot find matching request");
            } else {
                ClassificationResponse eres = new ClassificationResponse(ereq, res);

                boolean responded = false;
                synchronized (ereq) {
                    ClassificationRequest.RequestStatus status = ereq.getStatus();
                    if (status.equals(ClassificationRequest.RequestStatus.STATUS_UNKNOWN)) {
                        ereq.setStatus(ClassificationRequest.RequestStatus.STATUS_RESPONDED);
                        responded = true;
                    }

                    requestQueue.remove(ereq);
                }

                if (responded) {
                    LOG.info("res : " + ereq.getReqId());
                    if (handler != null) {
                        handler.onSuccess(eres.getReqId(), eres.getHeader(), eres.getSequence(),
                                eres.getResult(), eres.getType(), eres.getTaxonRank(), eres.getTaxonName());
                    }

                    synchronized (requestQueue) {
                        requestQueue.notifyAll();
                    }
                }
            }
        }
    };

    this.workerThread = new Thread(new Runnable() {

        @Override
        public void run() {
            try {
                responseChannel.basicConsume(queueName, consumer);
                LOG.info("Waiting for messages");
            } catch (IOException ex) {
                LOG.error("Exception occurred while consuming a message", ex);
            }
        }
    });
    this.workerThread.start();
    this.reachable = true;

    this.timeoutThread = new Thread(new Runnable() {

        @Override
        public void run() {
            while (true) {
                boolean cont = false;
                if (requestQueue.size() > 0) {
                    ClassificationRequest ereq = requestQueue.peek();
                    Date cur = new Date();
                    if (ereq != null && cur.getTime() - ereq.getSentTime() >= QUERY_TIMEOUT) {
                        LOG.info("found timeout request");
                        //timeout
                        boolean timeout = false;
                        synchronized (ereq) {
                            ClassificationRequest.RequestStatus status = ereq.getStatus();
                            if (status.equals(ClassificationRequest.RequestStatus.STATUS_UNKNOWN)) {
                                ereq.setStatus(ClassificationRequest.RequestStatus.STATUS_TIMEOUT);
                                timeout = true;
                            }

                            requestQueue.remove(ereq);
                        }

                        synchronized (requestMap) {
                            requestMap.remove(ereq.getReqId());
                        }

                        if (timeout) {
                            LOG.info("timeout : " + ereq.getReqId());
                            handler.onTimeout(ereq.getReqId(), ereq.getHeader(), ereq.getSequence());

                            synchronized (requestQueue) {
                                requestQueue.notifyAll();
                            }
                        }
                        cont = true;
                    }
                }

                if (!cont) {
                    try {
                        Thread.sleep(1000);
                    } catch (InterruptedException ex) {
                        break;
                    }
                }
            }
        }
    });
    this.timeoutThread.start();
}

From source file:biospectra.classify.server.RabbitMQInputServer.java

License:Apache License

public synchronized void connect() throws IOException, TimeoutException {
    LOG.info("Connecting to - " + this.conf.getRabbitMQHostname() + ":" + this.conf.getRabbitMQPort());

    ConnectionFactory factory = new ConnectionFactory();
    factory.setHost(this.conf.getRabbitMQHostname());
    factory.setPort(this.conf.getRabbitMQPort());
    factory.setUsername(this.conf.getRabbitMQUserId());
    factory.setPassword(this.conf.getRabbitMQUserPwd());

    factory.setRequestedHeartbeat(60);/*from  w w w  . j av  a 2 s  .com*/

    factory.setAutomaticRecoveryEnabled(true);

    this.connection = factory.newConnection();
    this.connection.addShutdownListener(new ShutdownListener() {

        @Override
        public void shutdownCompleted(ShutdownSignalException sse) {
            LOG.error("connection shutdown", sse);
        }
    });

    this.requestChannel = this.connection.createChannel();
    this.responseChannel = this.connection.createChannel();

    LOG.info("connected.");

    this.requestChannel.basicQos(1);
    this.requestChannel.queueDeclare("request", false, false, true, null);

    this.responseChannel.addReturnListener(new ReturnListener() {

        @Override
        public void handleReturn(int replyCode, String replyText, String exchange, String routingKey,
                AMQP.BasicProperties properties, byte[] body) throws IOException {
            String message = new String(body, "UTF-8");
            LOG.info("message not delivered to " + routingKey);
            LOG.info(message);
        }
    });

    this.consumer = new DefaultConsumer(this.requestChannel) {
        @Override
        public void handleDelivery(String consumerTag, Envelope envelope, AMQP.BasicProperties properties,
                byte[] body) throws IOException {
            String message = new String(body, "UTF-8");

            this.getChannel().basicAck(envelope.getDeliveryTag(), false);

            if (handler != null) {
                ClassificationRequestMessage req = ClassificationRequestMessage.createInstance(message);
                handler.handleMessage(req, properties.getReplyTo());
            }
        }
    };

    this.workerThread = new Thread(new Runnable() {

        @Override
        public void run() {
            try {
                requestChannel.basicConsume("request", consumer);
                LOG.info("Waiting for messages");
            } catch (IOException ex) {
                LOG.error("Exception occurred while consuming a message", ex);
            }
        }
    });
    this.workerThread.start();
}

From source file:blocker.Blocker.java

/**
 * @param argv/*from  w w w  .  j a v a  2s.c  o  m*/
 */
public static void main(String[] argv) throws Exception {
    seconds = Integer.parseInt(argv[7]);
    ConnectionFactory factory = new ConnectionFactory();
    factory.setHost(argv[0]);
    factory.setUsername(argv[2]);
    factory.setPassword(argv[3]);
    factory.setVirtualHost(argv[1]);
    Connection connection = factory.newConnection();
    Channel channel = connection.createChannel();

    channel.exchangeDeclare(argv[4], "direct", true);
    String queueName = channel.queueDeclare(argv[5], true, false, false, null).getQueue();

    //                          exchange  key
    channel.queueBind(queueName, argv[4], argv[6]);

    System.out.println(" [*] Waiting for messages. To exit press CTRL+C");

    Consumer consumer = new DefaultConsumer(channel) {
        @Override
        public void handleDelivery(String consumerTag, Envelope envelope, AMQP.BasicProperties properties,
                byte[] body) throws IOException {
            String message = new String(body, "UTF-8");
            JSONParser parser = new JSONParser();

            Thread.UncaughtExceptionHandler h = new Thread.UncaughtExceptionHandler() {
                @Override
                public void uncaughtException(Thread th, Throwable ex) {
                    System.out.println("Uncaught exception: " + ex);
                }
            };

            try {
                Object obj = parser.parse(message);
                JSONObject jobj = (JSONObject) obj;
                String IP = (String) jobj.get("clientip");
                Thread t = new Thread(new BlockerThread(IP));
                t.setUncaughtExceptionHandler(h);
                t.start();
            } catch (ParseException ex) {
                Logger.getLogger(Blocker.class.getName()).log(Level.SEVERE, null, ex);
            }
        }

    };
    channel.basicConsume(argv[5], true, consumer);
}

From source file:bog.processing.rabbit.RabbitListener.java

License:Open Source License

public void Listen(String exchange, String host, Map<String, Object> params, String like) {
    try {/*from w  w w. j a  va 2  s. co  m*/
        ConnectionFactory factory = new ConnectionFactory();
        factory.setHost(host);
        connection = factory.newConnection();
        channel = connection.createChannel();

        channel.queueDeclare(QUEUE_NAME, false, false, true, params);
        if (exchange != "") {
            channel.queueBind(QUEUE_NAME, exchange, ROUTING_KEY, params);
        }
        System.out.println(" [*] Waiting for messages...");
        QueueingConsumer consumer = new QueueingConsumer(channel);
        channel.basicConsume(QUEUE_NAME, true, consumer);
        (new Thread(new ListenerThread(consumer, messages, like))).start();

    } catch (Exception e) {
        System.out.println(e);
    }
}

From source file:br.uff.labtempo.omcp.common.utils.RabbitComm.java

License:Apache License

public void connect() throws ConnectionException {
    if (connection == null || !connection.isOpen()) {
        ConnectionFactory factory = new ConnectionFactory();
        factory.setHost(this.host);

        if (this.user != null && this.pass != null) {
            factory.setUsername(this.user);
            factory.setPassword(this.pass);
        }/*from   ww  w  . ja va  2  s .  c om*/

        try {
            connection = factory.newConnection();

        } catch (Exception ex) {//IOException
            close();
            this.checkHostOrDie(host);
            throw new ConnectionException("Could not connect to RabbitMQ", ex);
        }
    } else {
        throw new ConnectionException("Already connected to RabbitMQ");
    }
}