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的id()函数介绍
Feb 10 Python
Python random模块常用方法
Nov 03 Python
Python基于pygame实现的弹力球效果(附源码)
Nov 11 Python
Python 多线程抓取图片效率对比
Feb 27 Python
Python3一行代码实现图片文字识别的示例
Jan 15 Python
Python Flask前后端Ajax交互的方法示例
Jul 31 Python
python得到一个excel的全部sheet标签值方法
Dec 10 Python
使用celery执行Django串行异步任务的方法步骤
Jun 06 Python
python GUI库图形界面开发之PyQt5开发环境配置与基础使用
Feb 25 Python
如何理解Python中包的引入
May 29 Python
python openpyxl模块的使用详解
Feb 25 Python
python实现学生信息管理系统(面向对象)
Jun 05 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
Eclipse的PHP插件PHPEclipse安装和使用
2014/07/20 PHP
Laravel框架源码解析之入口文件原理分析
2020/05/14 PHP
Javascript操作select方法大全[新增、修改、删除、选中、清空、判断存在等]
2008/09/26 Javascript
ExtJS中文乱码之GBK格式编码解决方案及代码
2013/01/20 Javascript
js事件冒泡实例分享(已测试)
2013/04/23 Javascript
jQuery操作表单常用控件方法小结
2015/03/23 Javascript
JavaScript模拟深蓝vs卡斯帕罗夫的国际象棋对局示例
2015/04/22 Javascript
针对初学者的jQuery入门指南
2015/08/15 Javascript
JavaScript中对DOM节点的访问、创建、修改、删除
2015/11/16 Javascript
手机图片预览插件photoswipe.js使用总结
2016/08/25 Javascript
JS封装的三级联动菜单(使用时只需要一行js代码)
2016/10/24 Javascript
Bootstrap组合上、下拉框简单实现代码
2017/03/06 Javascript
浅析JS中的 map, filter, some, every, forEach, for in, for of 用法总结
2017/03/29 Javascript
jquery ui sortable拖拽后保存位置
2017/04/27 jQuery
jquery平滑滚动到顶部插件使用详解
2017/05/08 jQuery
JS HTML图片显示Canvas 压缩功能
2017/07/21 Javascript
Gulp实现静态网页模块化的方法详解
2018/01/09 Javascript
在Create React App中使用CSS Modules的方法示例
2019/01/15 Javascript
Vue 实现把表单form数据 转化成json格式的数据
2019/10/29 Javascript
node.js文件操作系统实例详解
2019/11/05 Javascript
浅析Python中元祖、列表和字典的区别
2016/08/17 Python
python批量识别图片指定区域文字内容
2019/04/30 Python
Python绘制三角函数图(sin\cos\tan)并标注特定范围的例子
2019/12/04 Python
django实现更改数据库某个字段以及字段段内数据
2020/03/31 Python
Python基于paramunittest模块实现excl参数化
2020/04/26 Python
Anaconda+spyder+pycharm的pytorch配置详解(GPU)
2020/10/18 Python
FILA斐乐中国官方商城:意大利运动品牌
2017/01/25 全球购物
英国男士时尚网站:Dandy Fellow
2018/02/09 全球购物
出纳岗位职责模板
2013/11/27 职场文书
体育教育个人自荐信范文
2013/12/01 职场文书
活动总结报告范文
2014/05/04 职场文书
幼儿园父亲节活动总结
2015/02/12 职场文书
实习单位鉴定意见
2015/06/04 职场文书
大学生受助感言
2015/08/01 职场文书
2016年教师寒假学习心得体会
2015/10/09 职场文书
《认识年月日》教学反思
2016/02/19 职场文书