Соединение Python Stomp с ActiveMQ имеет неправильное имя темы - PullRequest
0 голосов
/ 11 апреля 2019

Я пытаюсь сформировать подписку Python + Stomp на сервер ActiveMQ. Я тестирую на сервере ActiveMQ на локальном хосте. Кажется, все работает нормально, за исключением того, что имя подписки для темы XYZ имеет имя ActiveMQ.Advisory.Consumer.Queue.XYZ, а очередь, к которой я хочу подключиться (создается клиентом Java), называется только XYZ .

Есть ли способ подписаться на эту "короткую" очередь имен?

import stomp

QUEUE_NAME='XYZ'

class MyListener(stomp.ConnectionListener):
    def on_error(self, headers, message):
        print('received an error "%s"' % message)
    def on_message(self, headers, message):
        print('received a message "%s"' % message)

headers = {}
conn = stomp.Connection( )
conn.set_listener('127.0.0.1:61616', MyListener())
conn.start()
conn.connect('admin', 'admin', wait=True)

conn.subscribe(destination=QUEUE_NAME, id=2, ack='auto')

time.sleep(6660)
conn.disconnect()

В локальной консоли ActiveMQ отображается «Тема»: Screenshot of ActiveMQ Topics panel

В то время как на реальном сервере очередь с коротким именем: Correct Name

1 Ответ

2 голосов
/ 11 апреля 2019

Это похоже на нормальное поведение брокера для поддержки «консультативных сообщений».Это не должно иметь прямого влияния на ваше приложение.См. ActiveMQ документацию по этому вопросу для получения более подробной информации.

...