当前位置: 首页 > 知识库问答 >
问题:

JBoss AMQ/ActiveMQ Artemis:预配置持久订阅服务器

毋炳
2023-03-14

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

我想预先配置订户,这样就可以省去我在初始应用程序启动时的麻烦。我希望避免初始应用程序启动的情况,即在持久订阅服务器执行初始订阅之前,主应用程序开始运行并发布事件。

有什么方法可以预先配置持久订阅服务器吗?在普通的ActiveMQ(不是Artemis)中,有像虚拟主题这样的特性(某种程度上)解决了这个问题。

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

共有1个答案

卫高谊
2023-03-14

预配置持久订阅是可能的,因为OpenWire实现以确定的方式(即使用client-id.subscription-name)创建持久订阅所用的队列。例如,如果要在地址myaddress上配置持久订阅,其客户端ID为myclientid,订阅名称为mysubscription,则配置持久订阅:

<addresses>
   <address name="myAddress">
       <multicast>
        <queue name="myclientid.mysubscription"/>
      </multicast>
   </address>
</addresses>
 类似资料:
  • 在我们的业务需求中,我们需要将更新传输到分布在全国各地的数千个客户端。问题是,许多这些客户端使用3G网络连接到我们,因此,发生了许多连接/断开连接...我们需要提供的更新是诸如“企业A不能再兑现”或“企业B能够再次兑现”之类的东西,我们正在考虑使用ActiveMQ持久主题来提供这些更新。我的理解是,一旦客户端连接到持久主题,即使他断开连接,每当他回来时,他都会在脱机时收到发送到该主题的消息。最大的

  • 我正在使用Java和Qpid JMS 0.23测试发布/订阅。 我在SB中创建了一个名为“测试主题”的主题。 我可以从测试应用程序向主题发布消息,但在尝试订阅(动态创建订阅)时失败,例外情况: javax.jms.InvalidDestinationException:找不到消息传递实体mynamesspace:主题:test.topic~15|DurableSubscriber2。Trackin

  • 我想配置一个持久主题,但我想配置Apache ActiveMQ Artemis将为该主题的非活动持久订阅服务器保留消息的时间。 例如,类似“为非活动的持久订阅服务器保存持久消息长达30秒”的内容。如果订阅服务器在30秒内没有变为活动状态,则当订阅服务器变为活动状态时,消息将不再可用。

  • 我们开发的NMS产品已经被几家电信运营商部署。我们的应用程序(使用ActiveMQ)将向故障队列发布故障通知,消息被设置为持久性。这些消息由第三方JMS客户机使用。并不是所有的客户都有通知客户端来使用事件(有些部署没有任何订阅)。问题是,如果队列从来没有订阅服务器连接到队列,ActiveMQ是否会持久化消息?。

  • 显示相同数据的多个组件 访问数据的单一服务 现在,当通过Observables接收数据时,我有两种选择: a)订阅observable以获取一次数据,并再次订阅以获取更新

  • 我正在尝试使用spring-integration-kafka-2.1.0。在我公司的项目中发布。但是,由于下面列出的例外情况,它不起作用:org。springframework。信息。MessageDeliveryException:Dispatcher没有频道“org”的订户。springframework。网状物上下文WebApplicationContext:/order。“奥Kafka”