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中防止sql注入的方法详解
Feb 25 Python
Python中的__slots__示例详解
Jul 06 Python
Windows系统下多版本pip的共存问题详解
Oct 10 Python
单利模式及python实现方式详解
Mar 20 Python
Django 浅谈根据配置生成SQL语句的问题
May 29 Python
如何通过python画loss曲线的方法
Jun 26 Python
pytorch实现从本地加载 .pth 格式模型
Feb 14 Python
jupyter notebook中美观显示矩阵实例
Apr 17 Python
使用Python内置模块与函数进行不同进制的数的转换
Apr 26 Python
Django 解决由save方法引发的错误
May 21 Python
基于Python编写一个计算器程序,实现简单的加减乘除和取余二元运算
Aug 05 Python
Python实现Excel自动分组合并单元格
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
把1316这个数表示成两个数的和,其中一个为13的倍数,另一个是11的倍数,求这两个数。
2011/06/24 PHP
php数字游戏 计算24算法
2012/06/10 PHP
php调用MySQL存储过程的方法集合(推荐)
2013/07/03 PHP
PHP CURL或file_get_contents获取网页标题的代码及两者效率的稳定性问题
2015/11/30 PHP
PHP实现重载的常用方法实例详解
2017/10/18 PHP
jQuery EasyUI API 中文文档 可调整尺寸
2011/09/29 Javascript
js querySelector和getElementById通过id获取元素的区别
2012/04/20 Javascript
jquery拖动插件(jquery.drag)使用介绍
2013/06/18 Javascript
如何将php数组或者对象传递给javascript
2014/03/20 Javascript
nodejs中的fiber(纤程)库详解
2015/03/24 NodeJs
基于jquery实现select选择框内容左右移动添加删除代码分享
2015/08/25 Javascript
详解jQuery Mobile自定义标签
2016/01/06 Javascript
Validform+layer实现漂亮的表单验证特效
2016/01/17 Javascript
jquery仿微信聊天界面
2017/05/06 jQuery
浅谈react-native热更新react-native-pushy集成遇到的问题
2017/09/30 Javascript
layui.js实现的表单验证功能示例
2017/11/15 Javascript
微信小程序实现上传图片功能
2018/05/28 Javascript
微信小程序外卖选购页实现切换分类与数量加减功能案例
2019/01/15 Javascript
vue.js的vue-cli脚手架中使用百度地图API的实例
2019/01/21 Javascript
使用pm2自动化部署node项目的方法步骤
2019/01/28 Javascript
使用vue实现各类弹出框组件
2019/07/03 Javascript
vue实现淘宝购物车功能
2020/04/20 Javascript
python获取远程图片大小和尺寸的方法
2015/03/26 Python
python生成器generator用法实例分析
2015/06/04 Python
python常见的格式化输出小结
2016/12/15 Python
Python3 关于pycharm自动导入包快捷设置的方法
2019/01/16 Python
django 捕获异常和日志系统过程详解
2019/07/18 Python
python 默认参数相关知识详解
2019/09/18 Python
Python requests模块session代码实例
2020/04/14 Python
PyQt5连接MySQL及QMYSQL driver not loaded错误解决
2020/04/29 Python
Virtualenv 搭建 Py项目运行环境的教程详解
2020/06/22 Python
Linux文件系统类型
2012/02/15 面试题
应届大学生简历中的自我评价
2014/01/15 职场文书
工作年限证明模板
2015/06/15 职场文书
mysql left join快速转inner join的过程
2021/06/30 MySQL
PostgreSQL并行计算算法及参数强制并行度设置方法
2022/04/07 PostgreSQL