Python Stomp 访问 ActiveMQ

官方地址: https://pypi.org/project/stomp.py/

1. 安装python的stomp库

	$ pip install stomp.py
	$ stomp --version

输出: 6.1.0
注意, 不同版本的 stomp api 变化较大

2. 代码示例

建立连接

	conn = stomp.Connection([('10.161.2.2', 61613)])
	conn.connect(username='admin', passcode='admin', wait=True)

消息接收

	class SampleListener(object):
	    def on_message(self, headers, message):
	        print('headers: %s' % headers)
	        print('message: %s' % message)
	
	def receive_from_queue():
	    conn.set_listener('SampleListener', SampleListener())
	    conn.subscribe('queue_name', 123)
	    time.sleep(100)
	    conn.disconnect()

发送消息

	def send_to_queue(msg):
	    conn.send(body=msg, destination='queue_name')

完整代码

	# -*-coding:utf-8-*-

	import stomp
	import time
	
	location_queue = "location"
	event_queue = "event"
	conn = stomp.Connection([('10.161.2.2', 61613)])
	conn.connect(username='admin', passcode='admin', wait=True)
	
	class SampleListener(object):
	    def on_message(self, headers, message):
	        print('headers: %s' % headers)
	        print('message: %s' % message)
	
	
	def send_to_queue(msg):
	    conn.send(body=msg, destination=location_queue)
	    
	def receive_from_queue():
	    conn.set_listener('SampleListener', SampleListener())
	    conn.subscribe(location_queue, 123)
	    time.sleep(100)
	   
	
	if __name__=='__main__':
	    send_to_queue('len 123')
	    receive_from_queue()
	    conn.disconnect()

输出结果:
headers: {‘content-length’: ‘7’, ‘expires’: ‘0’, ‘destination’: ‘/queue/location’, ‘subscription’: ‘123’, ‘priority’: ‘4’, ‘message-id’: ‘ID:DESKTOP-K8AVGJF-65057-1611900870219-2:45?1:1’, ‘timestamp’: ‘1611906061081’}
message: len 123


版权声明:本文为weixin_39340061原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接和本声明。