我的要求是:
我有一个IBM MQ,它在20个服务器之间共享并运行JMS客户端。现在队列中将有一条特定的消息用于特定的线程。该线程需要使用correlationID来从MQ中的所有消息中获取消息。
当我使用onMessage()时,不确定哪个线程会监听该消息。假设server-1正在等待消息,但server-15正在侦听它。即使服务器1中的线程有消息,Server-1最终也会超时。
请在不引入重大性能问题的情况下建议我们如何处理此方案。
答案 0 :(得分:3)
在侦听器容器上使用MessageSelector。如果correlationId位于标准JMSCorrelationID
标头中,则选择器将JMSCorrelationID=foo
接收所有foo
条消息。