在我们的日常工作中,大部分情况下,我们的服务一般只需要连接某一个存放消息的rabbitMQ服务器。但是,现在多用微服务和分布式的开发部署模式,一个服务连接多个rabbitMQ服务器的需求也难以避免。最近刚好遇到,并实现,发出步骤,避免大家走弯路。
首先是yml或者propertes文件中的配置信息:
spring.rabbitmq.first.host = XXXX
spring.rabbitmq.first.port = XXXX
spring.rabbitmq.first.username = XXX
spring.rabbitmq.first.password = XXXX
spring.rabbitmq.second.host = XXXX
spring.rabbitmq.second.port = XXXX
spring.rabbitmq.second.username = XXXX
spring.rabbitmq.second.password = XXXX
然后是connectionFactory
如果连接单个rabbitMQ服务器,可以直接使用amqp官方jar包,不用手写这个类。但是连接两个rabbitMQ服务器就需要手写这个构建连接类
public class connectionFactory {
/*
定义连接,rabbitMQ
*/
@Bean(name = "mainConnectionFactory")
@Primary
public ConnectionFactory mainConnectionFactory(
@Value("${spring.rabbitmq.first.host}") String host,
@Va