@Configuration public class RabbitConfiguration { @Bean public CachingConnectionFactory connectionFactory() { // configure to connect with credential ConfigFile configFile = new ConfigFile(); CachingConnectionFactory connectionFactory = new CachingConnectionFactory(configFile.getRabbitmqHost()); connectionFactory.setUsername(configFile.getRabbitmqUserName()); connectionFactory.setPassword(configFile.getRabbitmqPassword()); return connectionFactory; } @Bean public RabbitAdmin amqpAdmin() { return new RabbitAdmin(connectionFactory()); } @Bean public RabbitTemplate rabbitTemplate() { RabbitTemplate template = new RabbitTemplate(connectionFactory()); return template; } @Bean public Queue MonitoringV5_Queue1() { // declare queue1 return new Queue("MonitoringV5_Queue1"); } @Bean public Queue MonitoringV5_Queue2() { // declare queue2 return new Queue("MonitoringV5_Queue2"); } }
References
https://docs.spring.io/spring-amqp/docs/current/reference/html/#cachingconnectionfactory