/** * Establish connection based on provided credentials */ public void establishConnection(PublisherCredentials credentials) { try { // setup factory ConnectionFactory factory = new ConnectionFactory(); factory.setUsername(credentials.getPublisherUsername()); factory.setPassword(credentials.getPublisherPassword()); factory.setHost(credentials.getPublisherHost()); factory.setPort(credentials.getPublisherPort()); factory.setVirtualHost(credentials.getPublisherVirtualHost()); factory.setAutomaticRecoveryEnabled(true); // establish connection connection = factory.newConnection(); dispatchChannel = connection.createChannel(); broadcastChannel = connection.createChannel(); // declare exchange to be used (we want it to be durable and based on routing key) dispatchChannel.exchangeDeclare(dispatchExchange, "direct", true); broadcastChannel.exchangeDeclare(broadcastExchange, "fanout", true); logger.trace(String.format("RabbitMQ Publisher connected to %s:%d", credentials.getPublisherHost(), credentials.getPublisherPort())); logger.trace(String.format("RabbitMQ Publisher will dispatch to \"%s\" and broadcast to \"%s\" exchanges", dispatchExchange, broadcastExchange)); } catch (Exception e) { logger.error(String.format("RabbitMQ Publisher couldn't be created: %s", e.getMessage())); // remove hanging connections stop(); } }
/** * Establish connection based on provided credentials */ public void establishConnection(PublisherCredentials credentials) { try { // setup factory ConnectionFactory factory = new ConnectionFactory(); factory.setUsername(credentials.getPublisherUsername()); factory.setPassword(credentials.getPublisherPassword()); factory.setHost(credentials.getPublisherHost()); factory.setPort(credentials.getPublisherPort()); factory.setVirtualHost(credentials.getPublisherVirtualHost()); factory.setAutomaticRecoveryEnabled(true); // establish connection connection = factory.newConnection(); dispatchChannel = connection.createChannel(); broadcastChannel = connection.createChannel(); // declare exchange to be used (we want it to be durable and based on routing key) dispatchChannel.exchangeDeclare(dispatchExchange, "direct", true); broadcastChannel.exchangeDeclare(broadcastExchange, "fanout", true); logger.trace(String.format("RabbitMQ Publisher connected to %s:%d", credentials.getPublisherHost(), credentials.getPublisherPort())); logger.trace(String.format("RabbitMQ Publisher will dispatch to \"%s\" and broadcast to \"%s\" exchanges", dispatchExchange, broadcastExchange)); } catch (Exception e) { logger.error(String.format("RabbitMQ Publisher couldn't be created: %s", e.getMessage())); // remove hanging connections stop(); } }
/** * Establish connection based on provided credentials */ public void establishConnection(PublisherCredentials credentials) { try { // setup factory ConnectionFactory factory = new ConnectionFactory(); factory.setUsername(credentials.getPublisherUsername()); factory.setPassword(credentials.getPublisherPassword()); factory.setHost(credentials.getPublisherHost()); factory.setPort(credentials.getPublisherPort()); factory.setVirtualHost(credentials.getPublisherVirtualHost()); factory.setAutomaticRecoveryEnabled(true); // establish connection connection = factory.newConnection(); dispatchChannel = connection.createChannel(); broadcastChannel = connection.createChannel(); // declare exchange to be used (we want it to be durable and based on routing key) dispatchChannel.exchangeDeclare(dispatchExchange, "direct", true); broadcastChannel.exchangeDeclare(broadcastExchange, "fanout", true); logger.trace(String.format("RabbitMQ Publisher connected to %s:%d", credentials.getPublisherHost(), credentials.getPublisherPort())); logger.trace(String.format("RabbitMQ Publisher will dispatch to \"%s\" and broadcast to \"%s\" exchanges", dispatchExchange, broadcastExchange)); } catch (Exception e) { logger.error(String.format("RabbitMQ Publisher couldn't be created: %s", e.getMessage())); // remove hanging connections stop(); } }
/** * Establish connection based on provided credentials */ public void establishConnection(PublisherCredentials credentials) { try { // setup factory ConnectionFactory factory = new ConnectionFactory(); factory.setUsername(credentials.getPublisherUsername()); factory.setPassword(credentials.getPublisherPassword()); factory.setHost(credentials.getPublisherHost()); factory.setPort(credentials.getPublisherPort()); factory.setVirtualHost(credentials.getPublisherVirtualHost()); factory.setAutomaticRecoveryEnabled(true); // establish connection connection = factory.newConnection(); dispatchChannel = connection.createChannel(); broadcastChannel = connection.createChannel(); // declare exchange to be used (we want it to be durable and based on routing key) dispatchChannel.exchangeDeclare(dispatchExchange, "direct", true); broadcastChannel.exchangeDeclare(broadcastExchange, "fanout", true); logger.trace(String.format("RabbitMQ Publisher connected to %s:%d", credentials.getPublisherHost(), credentials.getPublisherPort())); logger.trace(String.format("RabbitMQ Publisher will dispatch to \"%s\" and broadcast to \"%s\" exchanges", dispatchExchange, broadcastExchange)); } catch (Exception e) { logger.error(String.format("RabbitMQ Publisher couldn't be created: %s", e.getMessage())); // remove hanging connections stop(); } }