时间:2021-05-22
ActiveMQ是java开发的消息中间件服务。可以支持多种协议(AMQP,MQTT,OpenWire,Stomp),默认的是OpenWire。而python与ActiveMQ的通信使用的是Stomp协议。而如果你的服务没有开启则需要配置开启。
首先需要安装python的stomp库。
命令如下:
pip install stomp.py接着,就是上代码了具体如下:
# -*-coding:utf-8-*-import stompimport time queue_name = '/queue/SampleQueue'topic_name = '/topic/SampleTopic'listener_name = 'SampleListener' class SampleListener(object): def on_message(self, headers, message): print 'headers: %s' % headers print 'message: %s' % message # 推送到队列queuedef send_to_queue(msg): conn = stomp.Connection10([('127.0.0.1',61613)]) conn.start() conn.connect() conn.send(queue_name, msg) conn.disconnect() #推送到主题def send_to_topic(msg): conn = stomp.Connection10([('127.0.0.1',61613)]) conn.start() conn.connect() conn.send(topic_name, msg) conn.disconnect() ##从队列接收消息def receive_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() ##从主题接收消息def receive_from_topic(): conn = stomp.Connection10([('127.0.0.1',61613)]) conn.set_listener(listener_name, SampleListener()) conn.start() conn.connect() conn.subscribe(topic_name) while 1: send_to_topic('topic') time.sleep(3) # secs conn.disconnect() if __name__=='__main__': # send_to_queue('len 123') # receive_from_queue() receive_from_topic()但是上述只是发送文本类型的消息,除此之外,ActiveMQ还支持MapMessage、ObjectMessage、BytesMessage、和StreamMessage等多个消息类型。
以上这篇python 发送和接收ActiveMQ消息的实例就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持。
声明:本页内容来源网络,仅供用户参考;我单位不保证亦不表示资料全面及准确无误,也不保证亦不表示这些资料为最新信息,如因任何原因,本网内容或者用户因倚赖本网内容造成任何损失或损害,我单位将不会负任何法律责任。如涉及版权问题,请提交至online#300.cn邮箱联系删除。
本文实例讲述了Python微信企业号开发之回调模式接收微信端客户端发送消息及被动返回消息。分享给大家供大家参考,具体如下:说明:此代码用于接收手机微信端发送的消
实现消息队列的两种方式ApacheActiveMQ官方实例发送消息直接在Apache官网http://activemq.apache.org/download-
本文实例讲述了php使用ActiveMQ发送消息,与处理消息操作。分享给大家供大家参考,具体如下:我们以一个简单的用户注册为例,当用户点击注册按钮后,我们发送一
Spring-bootJMS发送消息慢的问题解决1、在《ActiveMQ基于zookeeper的主从(levelDBMaster/Slave)搭建以及Sprin
本文实例讲述了ActiveMQ在C#中的应用。分享给大家供大家参考,具体如下:ActiveMQ是个好东东,不必多说。ActiveMQ提供多种语言支持,如Java