消息仅发布到RabbitMQ扇出交换(java)中的一个队列
因此,我有两个队列,outboundEmailQueue和storeEmailQueue:消息仅发布到RabbitMQ扇出交换(java)中的一个队列,java,spring,rabbitmq,Java,Spring,Rabbitmq,因此,我有两个队列,outboundEmailQueue和storeEmailQueue: <rabbit:queue name="outboundEmailQueue"/> <rabbit:queue name="storeEmailQueue"/> 但是,该消息仅发布到storeEmailQueue: <rabbit:queue name="outboundEmailQueue"/> <rabbit:queue name="storeEmailQu
<rabbit:queue name="outboundEmailQueue"/>
<rabbit:queue name="storeEmailQueue"/>
但是,该消息仅发布到storeEmailQueue:
<rabbit:queue name="outboundEmailQueue"/>
<rabbit:queue name="storeEmailQueue"/>
我的配置有什么问题?为什么邮件没有排队到outboundEmailQueue?我创建了相同的示例,它工作正常,邮件被添加到两个队列中,但我通过注释而不是XML进行配置。如果您需要注释解决方案,请点击以下链接:
https://stackoverflow.com/questions/45803231/how-to-publish-messages-on-rabbitmq-with-fanout-exchange-using-spring-boot从屏幕截图上看,您的配置似乎正常,消息正在到达两个队列。 但每个队列上的使用者配置不同: storeEmailQueue已配置使用者确认 outboundEmailQueue已配置自动确认 如果您有疑问: 检查exchange或队列的bindings部分,以确认链接是否存在,但从屏幕截图来看,似乎仍然存在 停止使用者并将邮件推送到exchange,您应该会看到两个队列上的邮件就绪计数和总计数都会增加。
谢谢你!是的,你说得对。队列具有不同的使用者配置。考虑到这一点,我发现是outboundEmailQueue的消费者出了问题,并解决了这个问题。
<rabbit:template id="integrationRabbitTemplate"
connection-factory="connectionFactory" exchange="integrationExchange"
message-converter="jsonMessageConverter" return-callback="returnCallback"
confirm-callback="confirmCallback" />
integrationRabbitTemplate.convertAndSend("integrationExchange", "", outboundEmail);