1

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

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

4

1 回答 1

4

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

将消息复制到每个接收者的唯一队列非常相似。

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

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

于 2013-06-02T10:27:48.993 回答