python 发送和接收ActiveMQ消息的实例
作者:像风一样的自由 发布时间:2022-08-23 18:45:20
标签:python,发送,接收,ActiveMQ
ActiveMQ是java开发的消息中间件服务。可以支持多种协议(AMQP,MQTT,OpenWire,Stomp),默认的是OpenWire。而python与ActiveMQ的通信使用的是Stomp协议。而如果你的服务没有开启则需要配置开启。
首先需要安装python的stomp库。
命令如下:
pip install stomp.py
接着,就是上代码了具体如下:
# -*-coding:utf-8-*-
import stomp
import 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
# 推送到队列queue
def 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等多个消息类型。
来源:https://blog.csdn.net/five3/article/details/79569587


猜你喜欢
- 目录1、系统环境,必要知识2、安装python3.6.53、安装Django4、安装uWSGI5、安装nginx6、MySQL安装配置7、编
- 代码如下:--相信大家肯定经常会把数据导入到数据库中,但是可能会有些记录行的所有列的数据是null,这为null的数据是我们不需要 --现在
- 1.连接测试连接是否成功:import redisr = redis.Redis(host='192.168.136.102'
- 前言废话滑块验证码破解是一直都想搞的项目,毕竟多数网站都会采用滑块验证码,于是最近在修改论文的闲暇之余把这事儿给解决了。要搞现在的滑块验证码
- Access 操作很简单,具体不步骤如下:打开你mdb数据库,工具-->数据库实用工具-->压缩和修复数据库(c)... SQL SERVE
- 许多游戏玩家一定会对游戏中的动态鼠标指针有很深的印象,其实只要一句简单的CSS(层叠样式表),你也能在网页上实现这种效果。首先,你需要一个鼠
- function ReportFileStatus(filespec) { var fso, s = filespec; fso = new
- 描述返回表达式,此表达式已被格式化为日期或时间。语法FormatDateTime(Date[, NamedFormat])FormatDat
- 今天学习到python的读取文件部分。还是以一段代码为例:filename='programming.txt'with op
- 一、所需工具**Python版本:**3.5.4(64bit)二、相关模块opencv_python模块sklearn模块numpy模块dl
- JavaScript的对象都是实例化了的,只可以使用而不能够创建继承于这些对象的新的子类. window对象为所有对象的Parent win
- 程序员周末都喜欢做什么?在公司加班?在家里加班?看电影?睡觉?程序员都怎么找女朋友?百分之八十的程序员表示,女朋友是啥,有好 * 就够了。程序
- 由于DOM(文档对象模型)概念的推出,这个API使HTML如虎添翼,但是有些学DHTML的朋友还是有些困挠,只是因为目前的手册的书写不太科学
- pandas获取csv指定行,列house_info = pd.read_csv('house_info.csv')1:取行
- 程序能实现什么a.完成gap值的自定义输入以及两条需比对序列的输入b.完成得分矩阵的计算及输出c.输出序列比对结果d.使用matplotli
- pyhon读取文件很方便,但是,如果文件很大,而且还是一行文件,那就蛋疼了. 不过还好有read(size)方法,这个方法就是每次读取siz
- 项目我采用了三层结构,我把LINQ的映射文件放到了DAL这个层中,映射文件自动由VS2008生成,在原来的机器上一直正常,一点问题都没有,当
- 出自: 编程中国 http://www.bc-cn.net作者: 天涯听雨 &nbs
- 用过MySQL之后,不论容量的话,发现比其他两个(sql server 、oracle)好用的多,一下子就喜欢上了。下面给那些还不知道怎么弄
- 本文将介绍如何在 web 框架 Django 中使用可视化工具 Pyecharts, 看完本教程你将掌握几种动态展示可视化数据的方法!Dja