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

不带订阅服务器的持久性消息队列行为(ActiveMQ)

赵修诚
2023-03-14

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

共有1个答案

凌鹏程
2023-03-14

当消息被标记为持久化时,代理将把消息持久化到队列中,而不管是否存在使用者。这是队列模型的一般契约。

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

  • 我有一个Red Hat AMQ(基于ActiveMQ Artemis)代理,我希望使用持久订阅(或等效)特性,这样我将有多个OpenWire JMS订阅者订阅我们的应用程序的事件,这些事件将可靠地交付给他们。 我想预先配置订户,这样就可以省去我在初始应用程序启动时的麻烦。我希望避免初始应用程序启动的情况,即在持久订阅服务器执行初始订阅之前,主应用程序开始运行并发布事件。 有什么方法可以预先配置持久

  • 我有一个使用ActiveMQ的JMS生产者/订阅者的简单Spring应用程序,配置如下: 我试过所有可能的解决办法,但没有一个奏效。我们非常感谢任何帮助

  • 我想知道这里是否有人能为我澄清以下问题。 假设我有一个主题,有5个持久订阅者。每个订户都是通过以下呼叫创建的(每个订户的名称明显不同): 因此,当我发布PARTY_ID = “123”的消息时,它将保留在主题中,直到所有5个持久订阅者都获得副本,对吗? 现在,假设我们有另外3个持久订阅者,消息选择器为“PARTY_ID='666'”。当我向主题发布“666”消息时,该消息会在3个持久“666”订阅

  • 我正在使用网络逻辑10.3。我正在尝试配置一个持久订阅,其中包含由 jdbc 存储(在 Oracle DB 中)支持的持久消息。我有一个主题,MDB 正在作为持久订阅者侦听该主题。在场景-1下:如果我发送消息,它会命中MDB。 在场景2中:我挂起了MDB,希望发送到主题的消息只要不被MDB(它是唯一注册的持久订阅者)使用,就会一直存在。但是当我向主题发送消息时,它短暂地出现在那里,然后就消失了(我

  • 我正在翻阅Rabbitmq官方站点给出的AMQP的文档。上面说 但是,当Message broker崩溃时,我对以下情况感到困惑:- 消息由生产者传递到消息交换,但不路由到标记为持久的队列。 消息由生产者传递给消息交换,消息交换又路由到标记为持久的队列,但消息在队列中,使用者不使用。 消息由生产者传递到消息交换,消息交换继而路由到标记为持久的队列,但消息在队列中并由使用者使用,但使用者未向队列发送