public void sendMessage(String... varStrings) { String msg = varStrings[0]; String exchangeName = varStrings[1]; String qName = varStrings[2]; String rabbitIp = varStrings[3]; logger.debug("RabbitMQ Properties Start..."); logger.debug("Message - " + msg); logger.debug("Exchange Name - " + exchangeName); logger.debug("QueueName - " + qName); logger.debug("IP Address - " + rabbitIp); logger.debug("RabbitMQ Properties End..."); try { CachingConnectionFactory factory = new CachingConnectionFactory(); factory.setAddresses(rabbitIp); org.springframework.amqp.rabbit.connection.Connection connection = factory.createConnection(); Channel channel = connection.createChannel(false); channel.basicPublish(exchangeName, qName, null, msg.getBytes()); channel.close(); connection.close(); logger.debug("Message Sent..."); } catch (Exception e) { e.printStackTrace(); } }
public void receiveMessage(String qName) { try { CachingConnectionFactory factory = new CachingConnectionFactory(); factory.setAddresses("10.30.135.103:5672,10.30.135.101:5672"); org.springframework.amqp.rabbit.connection.Connection connection = factory.createConnection(); Channel channel = connection.createChannel(false); // channel.exchangeDeclare(EXCHANGE_NAME, "fanout"); // ring queueName = channel.queueDeclare().getQueue(); // channel.queueBind(queueName, EXCHANGE_NAME, ""); System.out.println(" [*] Waiting for messages. To exit press CTRL+C"); QueueingConsumer consumer = new QueueingConsumer(channel); channel.basicConsume(qName, true, consumer); while (true) { QueueingConsumer.Delivery delivery = consumer.nextDelivery(); String message = new String(delivery.getBody()); System.out.println(" [x] Received '" + message + "'"); } } catch (Exception e) { e.printStackTrace(); } }
@Override public void onApplicationEvent(ContextRefreshedEvent event) { if (!this.lazyConnect && event.getApplicationContext().equals(getApplicationContext()) && this.amqpTemplate instanceof RabbitTemplate) { ConnectionFactory connectionFactory = ((RabbitTemplate) this.amqpTemplate).getConnectionFactory(); if (connectionFactory != null) { try { Connection connection = connectionFactory.createConnection(); if (connection != null) { connection.close(); } } catch (RuntimeException e) { logger.error("Failed to eagerly establish the connection.", e); } } } }