所以,我有2个队列,outboundEmailQueue和storeEmailQueue:
<rabbit:queue name="outboundEmailQueue"/>
<rabbit:queue name="storeEmailQueue"/>
绑定到名为integrationExchange的扇出交换:
<rabbit:fanout-exchange name="integrationExchange" auto-declare="true">
<rabbit:bindings>
<rabbit:binding queue="outboundEmailQueue"/>
<rabbit:binding queue="storeEmailQueue"/>
</rabbit:bindings>
</rabbit:fanout-exchange>
模板:
<rabbit:template id="integrationRabbitTemplate"
connection-factory="connectionFactory" exchange="integrationExchange"
message-converter="jsonMessageConverter" return-callback="returnCallback"
confirm-callback="confirmCallback" />
我如何向交易所发送对象:
integrationRabbitTemplate.convertAndSend("integrationExchange", "", outboundEmail);
但是,该消息仅发布到storeEmailQueue:
我的配置有什么问题?为什么邮件没有排队到outboundEmailQueue?
答案 0 :(得分:1)
从屏幕截图中看,您的配置似乎正常,并且消息正在到达两个队列。 但每个队列上的消费者配置并不相同:
如果您有疑问:
答案 1 :(得分:0)
我创建了相同的示例,并且其工作正常,消息正被添加到队列中,但我通过注释而不是XML进行配置。如果您需要注释解决方案,请点击以下链接:
https://stackoverflow.com/questions/45803231/how-to-publish-messages-on-rabbitmq-with-fanout-exchange-using-spring-boot