我有一个“点对点”IBM MQ 队列接收来自多个生产者的消息。我的应用程序使用队列中的消息。我正在使用 spring 'jmstemplate" 和 "DefaultMessageListenerContainer" 来异步使用消息。
我的应用程序在 2 个 jvm 上运行,这意味着每个 jvm 上有 2 个活动的侦听器正在侦听同一个队列。
来回答我的问题,如果有消息...
1) 侦听器如何知道消息到达队列?
2)在两个听众中,哪一个会收到消息?将消息分发给听众的方法是什么?
3) 我可以将单个队列的听众数量扩展到“N”个吗?如果我增长到 10 个听众,缩放是如何工作的?消息是如何分发给听众的?
4) MQ 服务器如何确保同一条消息不会发送到多个监听器?
可能这些都是简单的问题,但无法深入了解上述场景的工作原理。请分享你的想法...