我们需要实现处理以下场景的功能(使用IBM MQ和Spring Integration):
如果JMS队列失败,那么日内应用程序应自动连接到另一个已定义的队列而不会丢失消息。
在应用程序运行时动态更改队列配置,或者即使我们需要重新启动任何未发送的消息也不应丢失。
请提供您关于如何实施优秀设计以处理这些方案的观点,因为我们不熟悉使用spring集成。
答案 0 :(得分:0)
您应该为该第二个队列再声明一个JMS出站通道适配器,并将其作为第二个订户(使用order=2
)到同一个直接通道。该频道必须配置load-balancer="none"
。这样,如果第一个处理程序无法处理消息,它将被传递给第二个订阅者,依此类推。