【问题标题】:Android Stomp reconnect to ActiveMQAndroid Stomp 重新连接到 ActiveMQ
【发布时间】:2015-02-10 19:33:00
【问题描述】:
我正在为 android 使用一些 Stomp 库。我已经成功创建连接并使用来自 ActiveMQ 的消息。但现在我有一个问题。
每次客户端(android)失去连接(比如没有互联网)时,似乎与 activeMQ 的连接没有正确关闭,所以当我尝试重新连接时,它总是为目标队列创建一个新的消费者。我想要的是android将使用与以前相同的会话重新连接,因此它不会为队列创建新的消费者。有人可以帮我做这样的事情吗?
【问题讨论】:
标签:
android
jms
activemq
stomp
【解决方案1】:
ActiveMQ 使用client-id 和subscriptionName 标识其持久的STOMP 订阅者。 Client-id 应在CONNECT 消息中指定,subscriptionName 应在SUBSCRIBE 消息中指定。因此,如果您确保订阅者每次重新连接 ActiveMQ 服务器时都使用相同的 client-id、subscriptionName 组合,则应将其视为单个客户端。
请参阅ActiveMQ STOMP Docs 了解更多信息,特别是ActiveMQ 对 Stomp 的扩展部分。