[英]Spring Integration issue on RabbitMQ cluster restart
我們的系統中有幾個RabbitMQ隊列,我們使用Spring Integration amqp:inbound-channel-adapter來消耗消息。 Spring應用程序在5個JBoss節點上運行(不在集群中)
RabbitMQ端是兩個帶有負載均衡器的集群節點,具有持久隊列,在應用程序端,偵聽器的定義非常簡單,連接工廠的定義如下:
<rabbit:connection-factory id="amqpConnectionFactory" username="${orts.rabbitmq.username}" password="${orts.rabbitmq.password}"
host="${orts.rabbitmq.endpoint}" />
以及幾個定義如下的inbound-channel-adapter:
<amqp:inbound-channel-adapter id="artiqAmqpInboundChannelAdapter"
channel="artiq.queued.action.filter.outbound.channel" error-channel="artiq.recovery.router.channel"
connection-factory="amqpConnectionFactory" header-mapper="amqpHeaderMapper"
queue-names="ortsArtiqQueue" />
當由於某種原因(例如,部署新配置)而不得不重新啟動RabbitMQ集群時,我們遇到了意外的行為。重新啟動后,碰巧一個或多個偵聽器停止使用消息,並且我們必須重新啟動JBoss節點以進行恢復。
請注意,每次受影響的隊列可能不同時,此行為並不綁定到特定的隊列。 另請注意,部署的新配置不會修改任何現有隊列(例如,當我們添加新隊列時發生)
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.