python 发送和接收ActiveMQ消息的实例


Posted in Python onJanuary 30, 2019

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等多个消息类型。

以上这篇python 发送和接收ActiveMQ消息的实例就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持三水点靠木。

Python 相关文章推荐
Python中下划线的使用方法
Mar 27 Python
详解Python多线程
Nov 14 Python
PyQt5每天必学之带有标签的复选框
Apr 19 Python
django进阶之cookie和session的使用示例
Aug 17 Python
Python绘制正余弦函数图像的方法
Aug 28 Python
Python图像的增强处理操作示例【基于ImageEnhance类】
Jan 03 Python
python实现五子棋人机对战游戏
Mar 25 Python
pandas中的series数据类型详解
Jul 06 Python
简单易懂Pytorch实战实例VGG深度网络
Aug 27 Python
pytorch 实现模型不同层设置不同的学习率方式
Jan 06 Python
python uuid生成唯一id或str的最简单案例
Jan 13 Python
详解Python 中的 defaultdict 数据类型
Feb 22 Python
Python批量生成特定尺寸图片及图画任意文字的实例
Jan 30 #Python
理想高通滤波实现Python opencv示例
Jan 30 #Python
对DataFrame数据中的重复行,利用groupby累加合并的方法详解
Jan 30 #Python
WIn10+Anaconda环境下安装PyTorch(避坑指南)
Jan 30 #Python
对dataframe数据之间求补集的实例详解
Jan 30 #Python
如何在Django中添加没有微秒的 DateTimeField 属性详解
Jan 30 #Python
Pandas统计重复的列里面的值方法
Jan 30 #Python
You might like
php新建文件自动编号的思路与实现
2011/06/27 PHP
采用header定义为文件然后readfile下载(隐藏下载地址)
2014/01/31 PHP
PHP 实现判断用户是否手机访问
2015/01/21 PHP
php获取字符串中各个字符出现次数的方法
2015/02/23 PHP
PHP-FPM之Chroot执行环境详解
2015/08/03 PHP
微信公众平台开发之天气预报功能
2015/08/31 PHP
php格式化json函数示例代码
2016/05/12 PHP
thinkPHP5.0框架自动加载机制分析
2017/03/18 PHP
jquery时间下拉框小例子
2013/04/15 Javascript
jQuery中阻止冒泡事件的方法介绍
2014/04/12 Javascript
使用JavaScript判断图片是否加载完成的三种实现方式
2014/05/04 Javascript
JS实现微信弹出搜索框 多条件查询功能
2016/12/13 Javascript
JavaScript装饰器函数(Decorator)实例详解
2017/03/30 Javascript
Vue 中 a标签上href无法跳转的解决方式
2019/11/12 Javascript
微信小程序基于高德地图API实现天气组件(动态效果)
2020/10/22 Javascript
详解template标签用法(含vue中的用法总结)
2021/01/12 Vue.js
[03:28]2014DOTA2国际邀请赛 EG战队官方纪录片
2014/07/21 DOTA
Python爬取京东的商品分类与链接
2016/08/26 Python
tensorflow: variable的值与variable.read_value()的值区别详解
2018/07/30 Python
python2.7实现邮件发送功能
2018/12/12 Python
python并发编程多进程之守护进程原理解析
2019/08/20 Python
python 基于dlib库的人脸检测的实现
2019/11/08 Python
Python *args和**kwargs用法实例解析
2020/03/02 Python
深入了解Python enumerate和zip
2020/07/16 Python
详解python 内存优化
2020/08/17 Python
sqlalchemy实现时间列自动更新教程
2020/09/02 Python
zooplus波兰:在线宠物店
2019/07/21 全球购物
哪些情况下不应该使用索引
2015/07/20 面试题
在校大学生的职业生涯规划书
2014/03/14 职场文书
企业新年寄语
2014/04/04 职场文书
电力培训心得体会
2014/09/02 职场文书
教师个人工作总结范文2015
2015/10/14 职场文书
请假条应该怎么写?
2019/06/24 职场文书
大学学生会主席竞选稿怎么写?
2019/08/19 职场文书
python第三方网页解析器 lxml 扩展库与 xpath 的使用方法
2021/04/06 Python
Python趣味实战之手把手教你实现举牌小人生成器
2021/06/07 Python