问题描述
- brokerA和brokerB通过网络连接器连接
- 经纪人A和经纪人B具有相同名称的主题“ testTopic”
- DurableSubscriber1连接到broker A 的testTopic
- DurableSubscriber2也连接到broker A 的testTopic
- DurableSubscriber3连接到broker B 的testTopic
- 3个DurableSubscribers的ClientID是相同的ID“ testID”
首先,我创建DurableSubscriber1。接下来,我创建DurableSubscriber 2 。但是我无法创建DurableSubscriber2。我认为是因为不能将DurableSubscriber创建为相同的ClientID。
但是,创建DurableSubscriber1之后,可以创建DurableSubscriber 3 。
是否相同的clientid的DurableSubsucriptions和连接到不同代理的相同Topic的每个代理人的DurableSubsucriptions不同?
解决方法
持久订阅在ActiveMQ代理之间是不同的,因此连接到代理A的客户端可以创建持久订阅,该持久订阅存储的消息与代理B上具有相同客户端ID的另一个客户端不同。这是持久订阅并非总是代理网络的好选择的一个原因,因为如果订阅者先断开连接然后重新连接到另一个代理,则消息可能会搁浅,因为这将导致其较旧的订阅中的消息搁浅直到返回给经纪人。