TPY на основе прочного клиента заполняет список подписчиков в ActiveMQ

StackOverflow https://stackoverflow.com/questions/3774152

  •  04-10-2019
  •  | 
  •  

Вопрос

У меня проблема с прочным клиентом на 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 заполнить:alt text(Изображение выше показывает абонент на моем брокере ActiveMQ. В следующий раз я отключаю, а затем подключаю, запись выше все равно останется, а другая будет добавлена. Довольно скоро у меня есть много подписчиков в списке).

Странная вещь заключается в том, что селектор работает на 100% (я проверяю, изменяя <> быть =, чтобы сообщения возвращались ко мне), поэтому клиент должен быть работает как-то.

Это было полезно?

Решение

Я решил это, все это было связано с простой орфографической ошибкой. Линия:

conn.connect(wait=True, header = {'client-id': 'myhostname' })

Должны содержать «заголовки» в множественном числе.

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top