是否可以对 ActiveMQ 主题进行分区,以便它使用消息中的键来确定将消息发布到哪个分区?

问题描述

我有应用程序 A 将消息发布到 ActiveMQ 队列 q1 和 q2,我有两个消费者 c1 和 c2 分别连接 q1 和 q2。 c1 和 c2 的消息格式不同,这就是我使用两个独立队列的原因。

是否可以将单个主题与 ActiveMQ 一起使用,然后将其进一步划分为 p1 和 p2,并让 c1 订阅 p1,c2 订阅 p2? A 可以使用消息中的键来确定要订阅的分区。这可以使用 ActiveMQ 吗?

解决方法

是的。 JMS 支持 SQL 92 语法来创建查询,消费者可以使用这些查询来获取他们想要的消息。请参阅第 9.1.8 节 JMS Spec 中的 JMS 选择器。

此外,ActiveMQ 文档 ActiveMQ Selectors

此外,ActiveMQ 服务器端路由使用选择器和过滤目标(请参阅底部第二部分)Filtered Destinations

相关问答

Selenium Web驱动程序和Java。元素在(x,y)点处不可单击。其...
Python-如何使用点“。” 访问字典成员?
Java 字符串是不可变的。到底是什么意思?
Java中的“ final”关键字如何工作?(我仍然可以修改对象。...
“loop:”在Java代码中。这是什么,为什么要编译?
java.lang.ClassNotFoundException:sun.jdbc.odbc.JdbcOdbc...