本文共 1421 字,大约阅读时间需要 4 分钟。
brew install activemq
activemq start
activemq --version
import stompimport sysimport timeconn = stomp.Connection()conn.connect('admin', 'admin', wait=True)# send queue name 'test'conn.send(body=''.join(sys.argv[1:]), destination='/queue/SampleQueue')# send messagefor i in range(10): # 第一个参数:队列的名称 # 第二个参数:消息的内容 conn.send("SampleQueue", "message{0}:{1}".format(i, i)) time.sleep(3)conn.disconnect()
import stompimport timeimport sysclass SampleListener(stomp.ConnectionListener): def on_message(self, headers, msg): print(msg) def on_error(self, headers, message): print("headers:{0['destination']}, message:{1}".format(headers, message))conn = stomp.Connection10()conn.set_listener('SampleListener', SampleListener())conn.connect()# queue nameconn.subscribe('SampleQueue')time.sleep(1)while True: pass# conn.disconnect()
当监听器被启动(SampleListener),会指定一个队列,于是这个监听器会一直监听这个队列,此时该队列的pending message会一直是0,因为监听器一直在消费
class SampleListener(stomp.ConnectionListener): def on_message(self, headers, message): print("headers:{0}['destination'], message:{1}".format(headers, message)) destination = headers['destination'] destination = destination[7:] print(destination) def on_error(self, headers, message): print("headers:{0['destination']}, message:{1}".format(headers, message))
转载地址:http://rejvi.baihongyu.com/