【问题标题】:IBM MQ Queue JMS listeners receive msg by hostname or some IdIBM MQ Queue JMS 侦听器通过主机名或某些 Id 接收消息
【发布时间】:2021-08-10 06:27:52
【问题描述】:

是否可以将多个 JMS 侦听器连接到 MQ 队列,并且侦听器根据 Id(可能是主机名)获取消息。

在发送消息时(设置此 id?)和订阅时,我们可以使用此 id 设置订阅者。代理的另一端将处理消息,并在响应时设置此 ID,以便特定的侦听器处理响应。

每个 msg 上的 MessageId/CorrId 将以发送/接收模式工作,但这不是我在这里看到的,因为我正在使用 msg 侦听器。

浏览了 IBM MQ 文档,但无法弄清楚这一点。请提供任何文档参考/代码示例来解决这个问题。

【问题讨论】:

    标签: jms websphere listener mq


    【解决方案1】:

    您可以使用“选择器”创建您的javax.jms.MessageConsumer,例如,使用javax.jms.Session.createConsumer(Destination, String),然后当您在此消费者上实现set your javax.jms.MessageListener 时,它只会接收具有与该选择器匹配的属性值的消息。

    因此,您可以在发送消息时为消息设置一个名为color 的属性,然后您的消费者可以使用color = 'red' 之类的选择器。消费者只会收到color 属性值为red 的消息。

    消息选择器(包括语法和匹配语义)在the JavaDoc中有详细讨论。

    【讨论】:

    • 这里有任何反馈吗?
    • 对不起。没试过。有其他优先事项
    猜你喜欢
    • 2011-01-20
    • 2010-12-04
    • 1970-01-01
    • 2016-03-05
    • 2021-09-17
    • 2011-10-09
    • 1970-01-01
    • 2012-07-21
    • 2016-10-31
    相关资源
    最近更新 更多