Python JMS Stomp Client und Apache ActiveMQ – Listener funktioniert nicht

Ich habe einen JMS-Client in Python mit Stomp geschrieben. Ich laufe Apache activemq 5.10.0.

Ich habe eine Warteschlange namens TEST, und der Client habe ich Drucke Log-Nachrichten sagen, dass es Nachrichten aus der Warteschlange zu lesen, aber die Druck-Anweisungen in meiner onMessage-Methode nicht funktionieren. ActiveMQ zeigt an, dass der Client die Nachricht gelesen hat und der Logger im Stomp lib eine Nachricht druckt, aber die onMessage () Druckanweisungen werden nicht angezeigt.

Irgendwelche Vorschläge?

Hier ist der Code:

import time import sys import logging import stomp from stomp import ConnectionListener queuename = sys.argv[1] logging.basicConfig( level=logging.DEBUG) class MyListener(ConnectionListener): message_count = 0 def on_error(self, headers, message): print 'received an error %s' % message # onMessage is WRONG - should be on_message # def onMessage(self, headers, message): def on_message(self, headers, message): print headers print str(message) print type(message) print "Message %d" %(message_count) message_count = message_count + 1 print 'received a message ...%s...' % message conn = stomp.Connection() conn.set_listener('', MyListener()) conn.start() conn.connect() queue = '/queue/%s' % queuename print "Queue is [%s]" % queue print "subscribe: %s" % conn.subscribe conn.subscribe(destination=queue, id=123421, ack='auto') while 1: time.sleep(2) 

One Solution collect form web for “Python JMS Stomp Client und Apache ActiveMQ – Listener funktioniert nicht”

Gefunden es, natürlich ca. 30 Minuten nach dem Posting .. Die Methode onMessage sollte on_message sein.

Dies war Beispielcode, den ich geändert habe und war nicht richtig.

Machen Sie diese Änderung und es funktioniert gut.

Python ist die beste Programmiersprache der Welt.