【问题标题】:How can we know which consumer get the message from queue on JMS?我们如何知道哪个消费者从 JMS 上的队列中获取消息?
【发布时间】:2010-11-28 02:05:06
【问题描述】:

我想知道如果 JMS 队列中有多个消费者,我们如何判断哪个消费者将从队列中获取消息? 例如,如果我们有 1 个生产者和 3 个消费者(以及 1 个队列),我怎么知道哪个消费者会收到消息?

谢谢

【问题讨论】:

    标签: java jms


    【解决方案1】:

    消息传递有两种通信方式:点对点和发布-订阅。

    在 p2p 中只有 1 个消费者。在 pub/sub 中,消息被发布给多个订阅者,订阅者可以使用过滤器有选择地处理消息。更多详情请阅读 jms 教程中的3.5.2 Message Selectors section

    【讨论】:

    • 所以只有一个消费者可以在特定队列上使用接收()方法?如果另一个消费者也尝试从同一个队列中接收()怎么办?
    • 当多个消费者从同一个队列中接收()时,规范未指定行为。所以它依赖于 JMS 提供程序
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2018-01-28
    • 2013-08-08
    • 2015-09-19
    • 2013-02-21
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多