0

我有一个 Red Hat AMQ(基于 ActiveMQ Artemis)代理,我想利用持久订阅(或等效)功能,这样我将有多个 OpenWire JMS 订阅者订阅我们应用程序的事件,这些事件将是可靠地交付给他们。

我想预先配置订阅者,以便在初始应用程序启动时省去我的麻烦。我想避免在我们的持久订阅者执行初始订阅之前主应用程序开始运行和发布事件的初始应用程序启动的情况。

我还想避免明确排序我的流程的启动顺序。

有什么方法可以预先配置持久订阅者?在普通的 ActiveMQ(不是 Artemis)中,有像 Virtual Topics 这样的特性(有点)解决了这个问题。

ActiveMQ Artemis 的首选解决方案是什么?

4

1 回答 1

1

可以预先配置持久订阅,因为 OpenWire 实现以确定的方式创建用于持久订阅的队列(即使用 . 的格式client-idsubscription-name。例如,如果您想在myAddress客户端 IDmyclientid和订阅名称为的地址上配置持久订阅,mysubscription则配置持久订阅:

<addresses>
   <address name="myAddress">
       <multicast>
        <queue name="myclientid.mysubscription"/>
      </multicast>
   </address>
</addresses>
于 2018-11-27T03:32:04.900 回答