python 发送和接收ActiveMQ消息的实例
ActiveMQ是java开发的消息中间件服务。可以支持多种协议(AMQP,MQTT,OpenWire,Stomp),默认的是OpenWire。而python与ActiveMQ的通信使用的是Stomp协议。而如果你的服务没有开启则需要配置开启。
首先需要安装python的stomp库。
命令如下:
pipinstallstomp.py
接着,就是上代码了具体如下:
#-*-coding:utf-8-*- importstomp importtime queue_name='/queue/SampleQueue' topic_name='/topic/SampleTopic' listener_name='SampleListener' classSampleListener(object): defon_message(self,headers,message): print'headers:%s'%headers print'message:%s'%message #推送到队列queue defsend_to_queue(msg): conn=stomp.Connection10([('127.0.0.1',61613)]) conn.start() conn.connect() conn.send(queue_name,msg) conn.disconnect() #推送到主题 defsend_to_topic(msg): conn=stomp.Connection10([('127.0.0.1',61613)]) conn.start() conn.connect() conn.send(topic_name,msg) conn.disconnect() ##从队列接收消息 defreceive_from_queue(): conn=stomp.Connection10([('127.0.0.1',61613)]) conn.set_listener(listener_name,SampleListener()) conn.start() conn.connect() conn.subscribe(queue_name) time.sleep(1)#secs conn.disconnect() ##从主题接收消息 defreceive_from_topic(): conn=stomp.Connection10([('127.0.0.1',61613)]) conn.set_listener(listener_name,SampleListener()) conn.start() conn.connect() conn.subscribe(topic_name) while1: send_to_topic('topic') time.sleep(3)#secs conn.disconnect() if__name__=='__main__': #send_to_queue('len123') #receive_from_queue() receive_from_topic()
但是上述只是发送文本类型的消息,除此之外,ActiveMQ还支持MapMessage、ObjectMessage、BytesMessage、和StreamMessage等多个消息类型。
以上这篇python发送和接收ActiveMQ消息的实例就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持毛票票。