Как читать сообщения из очередей Activemq, используя python и STOMP - PullRequest
0 голосов
/ 03 сентября 2018

Я обращаюсь к очередям (activemq) по ссылке http://10.41.248.10:8161/admin/queues.jsp. Я хотел прочитать сообщение из имени очереди: Notificationqueue. Я хотел использовать Python и STOMP. Имя пользователя и пароль для очереди - admin / admin. Пожалуйста, помогите мне шаг за шагом получить сообщение от имени очереди: Notificationqueue. Ниже мой код, пожалуйста, помогите завершить код

#!/usr/bin/env python

import time
import sys
import stomp

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

conn = stomp.Connection(host_and_ports=[('10.41.248.10', 61616)])
conn.set_listener('', MyListener())
conn.start()
conn.connect("admin","admin",wait=True)
conn.subscribe(destination='queue://Notificationqueue', id = '1', ack='auto')
time.sleep(2)
conn.disconnect()

Когда я запускаю это, я получаю ошибку,

 No handlers could be found for logger "stomp.py"


    conn.connect("admin","admin", wait=True)
  File "C:\Python27\lib\site-packages\stomp\connect.py", line 164, in connect
    Protocol11.connect(self, *args, **kwargs)
  File "C:\Python27\lib\site-packages\stomp\protocol.py", line 340, in connect
    self.transport.wait_for_connection()
  File "C:\Python27\lib\site-packages\stomp\transport.py", line 327, in wait_for_connection
    raise exception.ConnectFailedException()
ConnectFailedException

. Пожалуйста, помогите заполнить этот код в ближайшее время. Спросите меня, если вам нужна дополнительная информация

1 Ответ

0 голосов
/ 16 февраля 2019

Вам нужно дать STOMP порт 61613 при подключении к activemq http://activemq.apache.org/stomp.html)

transportConnector name = "stomp" uri = "stomp: // localhost: 61613"

conn = stomp.Connection(host_and_ports=[('10.41.248.10', 61613)])

Порт 61616 не предназначен для использования STOMP. У меня была похожая проблема, но после изменения номера порта я не получил исключение сбоя соединения.

...