【发布时间】:2020-08-08 08:55:09
【问题描述】:
我正在尝试了解 Artemis 如何进行路由(我使用的是 Artemis 2.11.0)。我想配置两个不同的地址STATUS_LOG.V01和STATUS_LOG.V02。从 JMS 的角度来看,一个是队列 (V01),一个是主题 (V02)。主题应将其消息多播到先前定义的队列。我在 broker.xml 中有以下内容:
<address name="STATUS_LOG.V01">
<anycast>
<queue name="STATUS_LOG.V01" />
</anycast>
</address>
<address name="STATUS_LOG.V02">
<multicast>
<queue name="STATUS_LOG.V01" />
</multicast>
</address>
当我向STATUS_LOG.V01 地址发送消息时,我可以通过 Web UI 在STATUS_LOG.V01 队列中看到它,如预期的那样。当我向STATUS_LOG.V02 地址发布消息时,我希望在STATUS_LOG.V01 队列中看到该消息,但我没有。
我们有一个从端点适配器接收状态消息 (STATUS_LOG.V01) 的现有队列。最终,我们希望添加另一个目的地 (STATUS_LOG.V02)(主题目的地 - PUBSUB 行为)以用于未来的版本。但是,我们希望将在新主题上收到的消息路由到现有队列。这在 ActiveMQ Artemis 中可行吗?
【问题讨论】:
-
通过网络用户界面
-
我正在尝试将一个地址汇集到另一个地址(因此静态指定名称)。
-
谢谢贾斯汀。这说明了这一点。我们有一个从端点适配器接收状态消息 (STATUS_LOG.V01) 的现有队列。我们想添加另一个目的地 (STATUS_LOG.V02)(主题目的地 - PUBSUB 行为)以用于未来的版本。但是,我们希望将在新主题上收到的消息路由到现有队列。这在 Artemis 中可行吗?
-
我用这个重要的用例描述更新了你的问题,我也更新了我的答案。
-
感谢贾斯汀的澄清和解决方案。我很感激。
标签: activemq-artemis