Jms:具有多个消费者的 Pub/Sub

Posted

技术标签:

【中文标题】Jms:具有多个消费者的 Pub/Sub【英文标题】:Jms: Pub/Sub with mutiple consumers 【发布时间】:2021-07-09 07:35:10 【问题描述】:

对于具有一个主题和两个持久订阅者的 JMS 发布/订阅,在大多数情况下,当向主题发送消息时,我们希望消息被两个订阅者使用。

但在特定情况下,我们可能希望消息仅由特定订阅者使用。这可能吗?可以做到吗?我们在 Spring Boot 中使用 OracleAQ。

【问题讨论】:

【参考方案1】:

您可以使用消息选择器。

只需向消息中添加一个属性,然后在消费者中过滤即可。

制作人

Message msg = ...

// Setting message properties
msg.setStringProperty("releaseYear", "1977");

消费者

MessageConsumer consumer = session.createConsumer(queue, "releaseYear < 1980");

在这里阅读更多: https://docs.oracle.com/cd/A87860_01/doc/ois.817/a65435/jms_feat.htm#1001827

【讨论】:

以上是关于Jms:具有多个消费者的 Pub/Sub的主要内容,如果未能解决你的问题,请参考以下文章

JMS学习六(ActiveMQ消息传送模型)

JMS术语

JMS的P2P和PUB/SUB区别和应用场景介绍

ActiveMQ(04):JMS的模型

带有推送消费者的 Google Pub/Sub

Pub/Sub Lite 延迟消费者