<!-- rabbitMQ多集群包引用 -->
<dependencies>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-amqp</artifactId>
<version>2.0.3</version>
</dependency>
<dependency>
<groupId>com.mytaxi.spring.multirabbit</groupId>
<artifactId>spring-multirabbit-lib</artifactId>
<version>2.2.0</version>
</dependency>
</dependencies>
<!-- rabbitMQ配置,tt是所连接集群的连接简称 -->
spring.multirabbitmq.connections.tt.host = localhost
spring.multirabbitmq.connections.tt.port = 5672
spring.multirabbitmq.connections.tt.username = aaa
spring.multirabbitmq.connections.tt.password = aaa
spring.multirabbitmq.connections.tt.virtual-host = /dev
spring.multirabbitmq.connections.tt.connection-timeout = 600000
spring.multirabbitmq.connections.tt.publisher-confirms = true
spring.multirabbitmq.connections.tt.publisher-returns = true
//发送,tt是配置文件中的所连接集群的连接简称
@Autowired
private RabbitTemplate rabbitTemplate;
@Autowired
private ConnectionFactoryContextWrapper connectionFactoryContextWrapper;
@GetMapping("/testmq")
public void testmq(){
connectionFactoryContextWrapper.run("tt",()->{
rabbitTemplate.convertAndSend("sampleExchangeA", "sampleRoutingKeyA", "{}");
});
}
/消费
@Autowired
private ConnectionFactoryContextWrapper connectionFactoryContextWrapper;
@RabbitListener(containerFactory = "tt",queues = "SAMPLE_QUEUE_A")
void listenConnectionNameA(String message)
{
log.info("Listener 'connectionNameA': {}", message);
}
参考:
https://github.com/freenowtech/spring-multirabbit 原生配置使用
https://blog.youkuaiyun.com/zhwyj1019/article/details/96479784