簡體   English   中英

Python JMS Stomp客戶端和Apache ActiveMQ-偵聽器不起作用

[英]Python JMS Stomp client and Apache ActiveMQ - Listener does not work

我有一個使用Stomp用python編寫的JMS客戶端。 我正在運行Apache activemq 5.10.0。

我有一個稱為TEST的隊列,並且我的客戶端打印了日志消息,說它正在從隊列中讀取消息,但是onMessage方法中的print語句不起作用。 ActiveMQ顯示客戶端已經閱讀了該消息,並且Stomp庫中的logger記錄了一條消息,但是onMessage()打印語句未顯示。

有什么建議么?

這是代碼:

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)

找到它,當然是在發布后約30分鍾。。onMessage方法應為on_message。

這是我修改的示例代碼,不正確。

進行更改,效果很好。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM