Example usage for com.rabbitmq.client ConnectionFactory newConnection

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

Introduction

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

Prototype

public Connection newConnection() throws IOException, TimeoutException 

Source Link

Document

Create a new broker connection.

Usage

From source file:org.thingsboard.rule.engine.rabbitmq.TbRabbitMqNode.java

License:Apache License

@Override
public void init(TbContext ctx, TbNodeConfiguration configuration) throws TbNodeException {
    this.config = TbNodeUtils.convert(configuration, TbRabbitMqNodeConfiguration.class);
    ConnectionFactory factory = new ConnectionFactory();
    factory.setHost(this.config.getHost());
    factory.setPort(this.config.getPort());
    factory.setVirtualHost(this.config.getVirtualHost());
    factory.setUsername(this.config.getUsername());
    factory.setPassword(this.config.getPassword());
    factory.setAutomaticRecoveryEnabled(this.config.isAutomaticRecoveryEnabled());
    factory.setConnectionTimeout(this.config.getConnectionTimeout());
    factory.setHandshakeTimeout(this.config.getHandshakeTimeout());
    this.config.getClientProperties().forEach((k, v) -> factory.getClientProperties().put(k, v));
    try {//from w  ww. jav  a2 s  .c o m
        this.connection = factory.newConnection();
        this.channel = this.connection.createChannel();
    } catch (Exception e) {
        throw new TbNodeException(e);
    }
}

From source file:org.thingsboard.server.extensions.rabbitmq.DemoClient.java

License:Apache License

public static void main(String[] argv) throws Exception {

    ConnectionFactory factory = new ConnectionFactory();
    factory.setHost(HOST);//from   ww w .  jav  a2  s  .  com
    factory.setUsername(USERNAME);
    factory.setPassword(PASSWORD);

    Connection connection = factory.newConnection();
    Channel channel = connection.createChannel();

    channel.queueDeclare(QUEUE_NAME, false, false, false, null);
    System.out.println(" [*] Waiting for messages.");
    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");
            System.out.println(" [x] Received '" + message + "'");
        }
    };
    channel.basicConsume(QUEUE_NAME, true, consumer);

}

From source file:org.trellisldp.amqp.AmqpPublisher.java

License:Apache License

private static Connection buildConnection(final String uri)
        throws IOException, GeneralSecurityException, URISyntaxException, TimeoutException {
    final ConnectionFactory factory = new ConnectionFactory();
    factory.setUri(uri);/*from   w  ww  .j a  v a  2 s  .co  m*/
    return factory.newConnection();
}

From source file:org.trianacode.TrianaCloud.Broker.Receiver.java

License:Open Source License

public String init() {
    ConnectionFactory factory = new ConnectionFactory();
    factory.setHost(host);//from   ww  w . j  av  a 2 s.c o m
    factory.setPort(port);
    factory.setUsername(user);
    factory.setPassword(password);
    factory.setVirtualHost(vHost);
    factory.setConnectionTimeout(60);

    try {
        connection = factory.newConnection();
        channel = connection.createChannel();

        consumer = new QueueingConsumer(channel);
        receiveQueueName = channel.queueDeclare("", false, false, true, null).getQueue();
        channel.basicConsume(receiveQueueName, true, consumer);
    } catch (IOException e) {
        e.printStackTrace(); //To change body of catch statement use File | Settings | File Templates.
        return null;
    }

    return receiveQueueName;
}

From source file:org.trianacode.TrianaCloud.Broker.RPCServer.java

License:Open Source License

public void init() throws ServletException {
    ConnectionFactory factory = new ConnectionFactory();
    factory.setHost(host);//from w ww . ja v a 2 s .  c  om
    factory.setPort(port);
    factory.setUsername(user);
    factory.setPassword(password);
    factory.setVirtualHost(vHost);
    factory.setConnectionTimeout(60);
    try {
        keepRunning = true;
        td = new TaskDAO();

        connection = factory.newConnection();
        channel = connection.createChannel();
        channel.queueDeclare(rpc_queue_name, false, false, false, null);

        channel.basicQos(1);

        consumer = new QueueingConsumer(channel);
        channel.basicConsume(rpc_queue_name, false, consumer);
        logger.info("[x] Awaiting RPC requests");
    } catch (Exception e) {
        ServletException se = new ServletException(e);
        logger.fatal("Something Happened!", se);
        throw se;
    }
}

From source file:org.trianacode.TrianaCloud.Utils.RPCClient.java

License:Open Source License

public RPCClient() {
    try {/* w w  w  .  j  ava 2s . c  om*/
        ConnectionFactory factory = new ConnectionFactory();
        factory.setHost("zotac.toaster.dbyz.co.uk");
        factory.setVirtualHost("trianacloud");
        factory.setUsername("trianacloud");
        factory.setPassword("trianacloud");
        factory.setRequestedHeartbeat(60);
        connection = factory.newConnection();
        channel = connection.createChannel();

        replyQueueName = channel.queueDeclare().getQueue();
        consumer = new QueueingConsumer(channel);
        channel.basicConsume(replyQueueName, true, consumer);
    } catch (Exception e) {
        logger.fatal("Error connecting to Rabbit while initialising RPCClient", e);
    }
}

From source file:org.trpr.mule.transport.rabbitmq.RabbitConnector.java

License:Apache License

/**
 * Abstract method implementation. Creates the AMQP connection
 * @see org.mule.transport.AbstractConnector#doConnect()
 *///from  w ww.j av  a2s. c om
protected void doConnect() throws Exception {
    if (connection == null) {
        int totalNumberOfNodes = rabbitMQConfigurations.size();
        int tries = 0;
        while (tries <= totalNumberOfNodes) {
            int index = (lastUsedConnectionIndex + 1) % totalNumberOfNodes;
            RabbitMQConfiguration rabbitMQConfiguration = null;
            try {
                ConnectionFactory factory = new ConnectionFactory();
                rabbitMQConfiguration = rabbitMQConfigurations.get(index);
                factory.setUsername(rabbitMQConfiguration.getUserName());
                factory.setPassword(rabbitMQConfiguration.getPassword());
                factory.setVirtualHost(rabbitMQConfiguration.getVirtualHost());
                factory.setRequestedHeartbeat(rabbitMQConfiguration.getRequestHeartBeat());
                factory.setHost(rabbitMQConfiguration.getHostName());
                factory.setPort(rabbitMQConfiguration.getPortNumber());
                connection = factory.newConnection();
                lastUsedConnectionIndex = index;
                logger.info("Connection successfully created to configuration = " + rabbitMQConfiguration);
                return;
            } catch (Exception e) {
                logger.info("Failed to connect to Rabbit MQ Node. Configuration is " + rabbitMQConfiguration
                        + ". Will try other configurations");
            }
            tries++;
        }
        logger.error("Failed to connect to all configured Rabbit MQ nodes");
        throw new Exception("Failed to connect to all configured Rabbit MQ nodes");
    }
}

From source file:org.trpr.platform.integration.impl.messaging.RabbitConnectionHolder.java

License:Apache License

/**
 * Helper method to create RabbitMQ {@link Connection} and {@link Channel} for the specified {@link RabbitMQRpcConfiguration}
 * @param configuration the RabbitMQRpcConfiguration or one of its sub-types to create connection objects for
 * @throws MessagingException in case of errors during connection & channel creation
 *///from w ww .  j  a  v  a  2 s.c  om
private void createConnection(RabbitMQRpcConfiguration configuration) throws MessagingException {

    synchronized (this) { // all code blocks that mutate the connection and channel objects held by this class are synchronized

        ConnectionFactory factory = new ConnectionFactory();
        factory.setUsername(configuration.getUserName());
        factory.setPassword(configuration.getPassword());
        factory.setVirtualHost(configuration.getVirtualHost());
        factory.setRequestedHeartbeat(configuration.getRequestHeartBeat());
        factory.setHost(configuration.getHostName());
        factory.setPort(configuration.getPortNumber());

        try {
            // create the connection
            this.conn = factory.newConnection();
            // add a shutdown listener to the newly created connection
            this.conn.addShutdownListener(this);
            // create the channel
            this.channel = this.conn.createChannel();
            this.channel.exchangeDeclare(configuration.getExchangeName(), configuration.getExchangeType(),
                    configuration.isDurable());

        } catch (Exception e) {
            LOGGER.error("Error initializing RabbitMQ connection for : " + configuration.toString(), e);
            throw new MessagingException(
                    "Error initializing RabbitMQ connection for : " + configuration.toString()); //not passing the root cause as it is logged here
        }
    }

}

From source file:org.voltdb.bulkloader.RMQCSVReceive.java

License:Open Source License

public static void receiveMessages(RMQOptions rmqOpts, TestOptions testOpts, String[] args) throws IOException {
    ConnectionFactory factory = new ConnectionFactory();
    factory.setHost(rmqOpts.host);//from w w  w .ja  va2s. c om
    Connection connection = factory.newConnection();
    Channel channel = connection.createChannel();
    if (rmqOpts.exchange != null) {
        if (rmqOpts.extype != null) {
            channel.exchangeDeclare(rmqOpts.exchange, rmqOpts.extype);
        }
        for (String bindingKey : rmqOpts.bindings) {
            channel.queueBind(rmqOpts.queue, rmqOpts.exchange, bindingKey);
        }
    }

    try {
        channel.queueDeclare(rmqOpts.queue, rmqOpts.persistent, false, false, null);
        System.out.println(" [*] Waiting for messages. To exit press CTRL+C");
        channel.basicQos(1);
        QueueingConsumer consumer = new QueueingConsumer(channel);
        channel.basicConsume(rmqOpts.queue, false, consumer);
        while (true) {
            QueueingConsumer.Delivery delivery = consumer.nextDelivery();
            String message = new String(delivery.getBody());
            channel.basicAck(delivery.getEnvelope().getDeliveryTag(), false);
            // Sleep 1 second for every trailing '.'.
            int dotCount = 0;
            for (int i = message.length() - 1; i >= 0; --i) {
                if (message.charAt(i) == '.') {
                    dotCount++;
                } else {
                    break;
                }
            }
            if (dotCount > 0) {
                message = message.substring(0, message.length() - dotCount);
            }
            System.out.printf(" [x] Received '%s'\n", message);
            Thread.sleep(dotCount * 1000);
        }
    } catch (ShutdownSignalException | ConsumerCancelledException | InterruptedException e) {
        e.printStackTrace();
    } finally {
        channel.close();
        connection.close();
    }
}

From source file:org.voltdb.bulkloader.RMQCSVSend.java

License:Open Source License

private static void sendMessages(RMQOptions rmqOpts, RandomSleeper.RSOptions sleeperOpts, TestOptions testOpts)
        throws InterruptedException {
    ConnectionFactory factory = new ConnectionFactory();
    factory.setHost(rmqOpts.host);//from ww  w.ja  va 2  s  .  com

    Connection connection = null;
    Channel channel = null;
    String exchangeName = "";
    // Use the queue name if the routing key is not specified.
    String routingKey = rmqOpts.routing != null ? rmqOpts.routing : rmqOpts.queue;
    try {
        connection = factory.newConnection();
        channel = connection.createChannel();
        if (rmqOpts.exchange != null) {
            exchangeName = rmqOpts.exchange;
            channel.exchangeDeclare(exchangeName, rmqOpts.extype);
        }
    } catch (IOException e1) {
        e1.printStackTrace();
        System.exit(255);
    }

    try {
        channel.queueDeclare(rmqOpts.queue, rmqOpts.persistent, false, false, null);
        try {
            while (testOpts.lineIter.hasNext()) {
                String message = testOpts.lineIter.next();
                channel.basicPublish(exchangeName, routingKey, MessageProperties.TEXT_PLAIN,
                        message.getBytes());
                System.out.printf(" [x] Sent '%s'\n", message);
                sleeperOpts.sleeper.sleep();
            }
        } finally {
            testOpts.lineIter.close();
        }
    } catch (IOException e) {
        e.printStackTrace();
    } finally {
        try {
            channel.close();
            connection.close();
        } catch (IOException e) {
            e.printStackTrace();
        }
    }
}