TPY на основе прочного клиента заполняет список подписчиков в ActiveMQ
Вопрос
У меня проблема с прочным клиентом на ActiveMQ. Я использую Stomp.py в Python.
conn.start()
conn.connect(wait=True, header = {'client-id': 'myhostname' })
conn.subscribe(
'/topic/testTopic', ack='auto',
headers = {
'activemq.subscriptionName': 'myhostname',
'selector': "clientid <> '%s'" % 'myhostname'
}
)
Как вы можете увидеть из моего кода, я устанавливаю свой клиент, чтобы быть моим собственным именем хоста. Как показано на прилагаемом скриншоте (ниже), клиентка показана как что-то вроде «ID: Atlas ...».
Проблема в том, что каждый раз, когда я отключаю мой клиент на основе stomp.py, я получаю новый «клиент» в следующий раз, когда я снова подключу. Это заставляет список подписчиков в ActiveMQ заполнить:(Изображение выше показывает абонент на моем брокере ActiveMQ. В следующий раз я отключаю, а затем подключаю, запись выше все равно останется, а другая будет добавлена. Довольно скоро у меня есть много подписчиков в списке).
Странная вещь заключается в том, что селектор работает на 100% (я проверяю, изменяя <> быть =, чтобы сообщения возвращались ко мне), поэтому клиент должен быть работает как-то.
Решение
Я решил это, все это было связано с простой орфографической ошибкой. Линия:
conn.connect(wait=True, header = {'client-id': 'myhostname' })
Должны содержать «заголовки» в множественном числе.