首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >基于stomp.py的持久客户端填充ActiveMQ中的订阅者列表

基于stomp.py的持久客户端填充ActiveMQ中的订阅者列表
EN

Stack Overflow用户
提问于 2010-09-22 22:39:45
回答 1查看 2.6K关注 0票数 3

我在ActiveMQ上遇到了一个持久客户端的问题。我在Python中使用stomp.py。

代码语言:javascript
复制
 conn.start()
 conn.connect(wait=True, header = {'client-id': 'myhostname' })
 conn.subscribe(
            '/topic/testTopic', ack='auto',
            headers = {
                'activemq.subscriptionName': 'myhostname',
                'selector': "clientid <> '%s'" % 'myhostname'
            }
)

正如您从我的代码中看到的,我正在将我的clientId设置为我自己的主机名。如下面所附的屏幕截图所示,clientId显示的内容类似于“ID:Atlas.”。

问题是,每次我断开基于STOp.py的客户端连接时,下次再次连接时,我都会得到一个新的"clientId“。这将导致ActiveMQ中的订阅者列表填满:

(上面的图片显示了我的ActiveMQ代理上的一个订阅者。下一次,当我断开连接,然后连接,上面的条目仍将保留,另一个将被添加。很快我就有了很多订阅者)。

奇怪的是,选择器可以工作100% (我通过将<>更改为be =来验证这一点,以便消息返回给我),所以clientId必须以某种方式工作。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2010-09-25 20:17:19

我解决了,整件事都是因为一个简单的拼写错误。这句话:

代码语言:javascript
复制
conn.connect(wait=True, header = {'client-id': 'myhostname' })

应该包含复数形式的“标头”。

票数 3
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/3774152

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档