【发布时间】:2016-03-22 06:08:45
【问题描述】:
我们开发的 NMS 产品已被多家电信运营商部署。我们的应用程序(使用 ActiveMQ)将向故障队列发布故障通知,消息设置为持久性。这些消息由第三方 JMS 客户端使用。并不是所有的客户都会有一个通知客户端来消费事件(一些部署不会有任何订阅)。问题是,如果队列从未有订阅者连接到队列,ActiveMQ 是否会保留消息?
【问题讨论】:
我们开发的 NMS 产品已被多家电信运营商部署。我们的应用程序(使用 ActiveMQ)将向故障队列发布故障通知,消息设置为持久性。这些消息由第三方 JMS 客户端使用。并不是所有的客户都会有一个通知客户端来消费事件(一些部署不会有任何订阅)。问题是,如果队列从未有订阅者连接到队列,ActiveMQ 是否会保留消息?
【问题讨论】:
当消息被标记为持久时,无论消费者是否存在,Broker 都会将消息持久保存到队列中。这就是 Queue 模型的通用契约。
【讨论】: