【问题标题】:Python JMS Stomp client and Apache ActiveMQ - Listener does not workPython JMS Stomp 客户端和 Apache ActiveMQ - 侦听器不起作用
【发布时间】:2014-12-23 06:28:40
【问题描述】:

我有一个使用 Stomp 用 Python 编写的 JMS 客户端。我正在运行 Apache activemq 5.10.0。

我有一个名为 TEST 的队列,我的客户端打印日志消息说它正在从队列中读取消息,但是我的 onMessage 方法中的打印语句不起作用。 ActiveMQ 显示客户端已读取消息,Stomp 库中的记录器打印消息,但 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)

【问题讨论】:

    标签: java python apache jms


    【解决方案1】:

    找到了,当然是发帖后30分钟左右。。方法onMessage应该是on_message。

    这是我修改的示例代码,不正确。

    进行更改,它可以正常工作。

    【讨论】:

      猜你喜欢
      • 2018-03-27
      • 1970-01-01
      • 2012-07-15
      • 1970-01-01
      • 1970-01-01
      • 2015-02-03
      • 1970-01-01
      • 2021-05-16
      • 2016-08-27
      相关资源
      最近更新 更多