JMS:从主题中删除持久消息时

时间:2013-06-02 09:56:43

标签: jms activemq durable-services

我正在使用Spring的ActiveMQ JMS实现,并且刚刚从队列模型切换到主题模型,因为我的JMS客户端从一个增加到多个。主题订阅者应该是持久的,因为在某些情况下客户可能会变得不可用。

我不明白何时从主题中删除持久性消息。底层引擎不知道有多少订阅者可以从该主题接收,所以什么时候从其内部数据库中删除该消息?它是以基于时间的方式完成的吗?

1 个答案:

答案 0 :(得分:4)

如果您为某个主题注册一个新的持久订阅者,则代理服务器将跟踪该订阅并保留消息,直到每个订阅者(具有唯一订阅者ID)成功使用该消息。

非常类似于将消息复制到每个接收器的唯一队列。

  

底层引擎不知道有多少订阅者可以从该主题收到

- 是的,它知道,因为订阅是持久的

相关问题