消息仅发布到RabbitMQ扇出交换(java)中的一个队列

消息仅发布到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

因此,我有两个队列,outboundEmailQueue和storeEmailQueue:

<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);