Jms 针对多线程场景,基于IBM MQ的corretionID获取响应

Jms 针对多线程场景,基于IBM MQ的corretionID获取响应,jms,spring-jms,Jms,Spring Jms,我的要求是: 我有一个IBMMQ,它跨20台服务器共享,并运行JMS客户机。现在,队列中将有一条特定的消息,它是针对特定线程的。线程需要使用correlationID从MQ中的所有消息中获取消息 当我使用onMessage()时,不确定哪个线程将侦听消息。假设服务器1正在等待消息,但服务器15正在侦听消息。服务器1最终会超时,即使有一条消息要发送给服务器1中的线程 请建议如何在不引入主要性能问题的情况下处理此场景。在侦听器容器上使用MessageSelector。如果correlationId位

我的要求是:

我有一个IBMMQ,它跨20台服务器共享,并运行JMS客户机。现在,队列中将有一条特定的消息,它是针对特定线程的。线程需要使用correlationID从MQ中的所有消息中获取消息

当我使用onMessage()时,不确定哪个线程将侦听消息。假设服务器1正在等待消息,但服务器15正在侦听消息。服务器1最终会超时,即使有一条消息要发送给服务器1中的线程


请建议如何在不引入主要性能问题的情况下处理此场景。

在侦听器容器上使用MessageSelector。如果correlationId位于标准
JMSCorrelationID
标题中,则选择器将为
JMSCorrelationID=foo
以接收所有
foo
消息