Springboot+Rabbitmq不能自动创建交换机和队列的问题

一、问题

开发中遇到:在不止一个rabbitmq数据源时,通过以下两种方式都不能正常的创建交换机和队列:

  1. @Configuration + @Bean
  2. @RabbitListener(bindings) + @QueueBinding + @Queue + @Exchange

二、原因

原因是没指定数据源,springboot不知道该连接哪个数据源。

三、解决

  1. 服务端可以定义 RabbitAdmin,通过它声明Exchange、Queue和Binding
  2. 消费端可以通过在 @RabbitListener 中指定containerFactory来指定数据源

附:一份详细完整的Rabbitmq使用教程与代码

rabbitmq、spring+rabbitmq、springboot+rabbitmq、rabbitmq实现延时队列

Springboot+Rabbitmq不能自动创建交换机和队列的问题_第1张图片

你可能感兴趣的:(MQ,java-rabbitmq,rabbitmq,spring,boot)