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实现给qq邮箱发送邮件的方法
May 28 Python
使用Python+Splinter自动刷新抢12306火车票
Jan 03 Python
python实现自动网页截图并裁剪图片
Jul 30 Python
Python3爬虫学习入门教程
Dec 11 Python
python调用opencv实现猫脸检测功能
Jan 15 Python
Python正则表达式和re库知识点总结
Feb 11 Python
Flask框架实现的前端RSA加密与后端Python解密功能详解
Aug 13 Python
解决Python计算矩阵乘向量,矩阵乘实数的一些小错误
Aug 26 Python
Python实现直播推流效果
Nov 26 Python
python os模块在系统管理中的应用
Jun 22 Python
torchxrayvision包安装过程(附pytorch1.6cpu版安装)
Aug 26 Python
python如何查找列表中元素的位置
May 30 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命令行使用方法和命令行参数说明
2014/04/08 PHP
浅析PHP中Session可能会引起并发问题
2015/07/23 PHP
php实现文件上传及头像预览功能
2017/01/15 PHP
PHP新特性详解之命名空间、性状与生成器
2017/07/18 PHP
JavaScript中常见陷阱小结
2010/04/27 Javascript
使用JQUERY进行后台页面布局控制DIV实现左右式
2014/01/07 Javascript
JS三级可折叠菜单实现方法
2016/02/29 Javascript
基于jquery实现ajax无刷新评论
2020/08/19 Javascript
自学实现angularjs依赖注入
2016/12/20 Javascript
js获取json中key所对应的value值的简单方法
2020/06/17 Javascript
js获取地址栏参数的两种方法
2017/06/27 Javascript
nodejs实现的简单web服务器功能示例
2018/03/15 NodeJs
vue-cli axios请求方式及跨域处理问题
2018/03/28 Javascript
React 组件渲染和更新的实现代码示例
2019/02/21 Javascript
微信小程序中的video视频实现 自定义播放按钮、封面图、视频封面上文案
2020/01/02 Javascript
[02:10]DOTA2 TI10勇士令状玩法及不朽Ⅰ展示:焕新世界,如你所期
2020/05/29 DOTA
Python datetime时间格式化去掉前导0
2014/07/31 Python
Python中的各种装饰器详解
2015/04/11 Python
Python操作csv文件实例详解
2017/07/31 Python
解决django 新增加用户信息出现错误的问题
2019/07/28 Python
tensor和numpy的互相转换的实现示例
2019/08/02 Python
Django通过dwebsocket实现websocket的例子
2019/11/15 Python
python3中sys.argv的实例用法
2020/04/24 Python
Python 捕获代码中所有异常的方法
2020/08/03 Python
Python类class参数self原理解析
2020/11/19 Python
jupyter notebook更换皮肤主题的实现
2021/01/07 Python
如何查看浏览器对html5的支持情况
2020/12/15 HTML / CSS
美国最灵活的移动提供商:Tello
2017/07/18 全球购物
美国领先的在线旅游网站:Orbitz
2018/11/05 全球购物
科研课题实施方案
2014/03/18 职场文书
企业宗旨标语
2014/06/10 职场文书
自习课吵闹检讨书范文
2014/09/26 职场文书
爱国主义电影观后感
2015/06/18 职场文书
html5中sharedWorker实现多页面通信的示例代码
2021/05/07 Javascript
Vue vee-validate插件的简单使用
2021/06/22 Vue.js
sql通过日期判断年龄函数的示例代码
2021/07/16 SQL Server