Java JMS是监听器已关闭2小时,然后如何在消息从主题启动后恢复消息

Java JMS是监听器已关闭2小时,然后如何在消息从主题启动后恢复消息,java,jms,listener,Java,Jms,Listener,假设我有一个持久主题和三个客户机,分别是Receiver clientA、clientB、clientC等等。clientA停机2小时,一旦clientA停机,我们应该如何保证clientA将收到过去两小时的所有消息(停机时错过了这些消息) 首先,没有“持久的话题”。我猜你的意思是“持久订阅”。持久订阅可确保在消费者(在您的情况下是客户端A)返回并恢复订阅之前,发布由消息传递提供商持有。消费者恢复订阅后,将发送消息提供商持有的所有出版物。同意您的意见,客户端A已关闭,客户端B、C正在使用消息,尽

假设我有一个持久主题和三个客户机,分别是Receiver clientA、clientB、clientC等等。clientA停机2小时,一旦clientA停机,我们应该如何保证clientA将收到过去两小时的所有消息(停机时错过了这些消息)

首先,没有“持久的话题”。我猜你的意思是“持久订阅”。持久订阅可确保在消费者(在您的情况下是客户端A)返回并恢复订阅之前,发布由消息传递提供商持有。消费者恢复订阅后,将发送消息提供商持有的所有出版物。

同意您的意见,客户端A已关闭,客户端B、C正在使用消息,尽管topic将为客户端存储消息(由B、C使用),我的意思是,一旦客户端A启动,它将获得所有消息。如果所有客户端都创建了自己的持久订阅,那么当它返回时,A将获得所有消息。如果所有客户端共享同一订阅,则A将不会收到任何消息。