3
我在ActiveMQ上的持久客戶端存在問題。我在Python中使用stomp.py。基於stomp.py的持久客戶端填充ActiveMQ中的訂戶列表
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 ....」。
問題是,我每次斷開基於stomp.py的客戶端時,下一次再次連接時會得到一個新的「clientId」。這會導致ActiveMQ中的用戶列表填滿: (上圖顯示了我的ActiveMQ代理上的用戶,下次斷開連接後,上面的條目仍然保留,另一個將被添加。很快我在列表中有很多用戶)。
奇怪的是,選擇器工作100%(我確認通過將<>更改爲=,以便消息回到我),所以clientId必須是以某種方式工作。
看起來他們在更高版本中修復了這個問題。 kwarg現在是「標題」 – grinch 2015-02-03 15:40:17