我们遇到了两个不同的应用程序实例间歇性地在同一个队列中侦听的情况。
合乎逻辑的解决方案是将其中一个指向其他地方或关闭其中一个。
我想知道是否有一种方法可以配置 Tibco JMS 配置以强制关闭,或者只向一个客户端发送消息事件?我一直在寻找一种“开箱即用”的方式来思考这个问题。
也许EMS的“独家”功能就是您正在寻找的……
通过在队列上设置此属性,一次只能有一个侦听器在侦听。
消息总是平均分布在侦听器之间。如果需要,可以使用消息选择器。如果 QueueReceiver 指定了消息选择器,则未选择的消息将保留在队列中。根据定义,消息选择器允许 QueueReceiver 跳过消息。这意味着,当最终读取跳过的消息时,读取的总顺序不会保留每个消息生产者定义的部分顺序。只有没有消息选择器的 QueueReceiver 才会按照消息生产者顺序读取消息。