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进行新浪微博的mid和url互相转换实例(10进制和62进制互算)
Apr 25 Python
python判断给定的字符串是否是有效日期的方法
May 13 Python
Python的Flask框架中配置多个子域名的方法讲解
Jun 07 Python
利用python程序帮大家清理windows垃圾
Jan 15 Python
python使用matplotlib绘制柱状图教程
Feb 08 Python
ubuntu环境下python虚拟环境的安装过程
Jan 07 Python
Python实现读取及写入csv文件的方法示例
Jan 12 Python
Python之读取TXT文件的方法小结
Apr 27 Python
Python使用Beautiful Soup爬取豆瓣音乐排行榜过程解析
Aug 15 Python
Python性能分析工具py-spy原理用法解析
Jul 27 Python
matplotlib bar()实现多组数据并列柱状图通用简便创建方法
Feb 24 Python
Pytorch中expand()的使用(扩展某个维度)
Jul 15 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生成随机密码的三种方法小结
2010/09/04 PHP
Erlang的运算符(比较运算符,数值运算符,移位运算符,逻辑运算符)
2012/07/23 PHP
服务器变量 $_SERVER 的深入解析
2013/07/02 PHP
跟我学Laravel之路由
2014/10/15 PHP
PHP中filter函数校验数据的方法详解
2015/07/31 PHP
查询绑定数据岛的表格中的文本并修改显示方式的js代码
2009/12/15 Javascript
JavaScript显示当然日期和时间即年月日星期和时间
2013/10/29 Javascript
详解JavaScript中undefined与null的区别
2014/03/29 Javascript
用jquery的方法制作一个简单的导航栏
2014/06/23 Javascript
Javascript 构造函数详解
2014/10/22 Javascript
jQuery实现的调整表格行tr上下顺序
2016/01/10 Javascript
jQuery取消特定的click事件
2016/02/29 Javascript
Javascript基础教程之比较null和undefined值
2016/05/16 Javascript
JavaScript的Ext JS框架中的GridPanel组件使用指南
2016/05/21 Javascript
Vue数据驱动模拟实现3
2017/01/11 Javascript
Vuex之理解Mutations的用法实例
2017/04/19 Javascript
Angular2使用Augury来调试Angular2程序
2017/05/21 Javascript
vue2.0s中eventBus实现兄弟组件通信的示例代码
2017/10/25 Javascript
解决VUE框架 导致绑定事件的阻止冒泡失效问题
2018/02/24 Javascript
JS+HTML5实现获取手机验证码倒计时按钮
2018/08/08 Javascript
vue路由插件之vue-route
2019/06/13 Javascript
python之wxPython应用实例
2014/09/28 Python
浅谈python函数之作用域(python3.5)
2017/10/27 Python
python实现逆序输出一个数字的示例讲解
2018/06/25 Python
Python实现的各种常见分布算法示例
2018/12/13 Python
Python scipy的二维图像卷积运算与图像模糊处理操作示例
2019/09/06 Python
pycharm开发一个简单界面和通用mvc模板(操作方法图解)
2020/05/27 Python
CSS的pointer-events属性详细介绍(作用和注意事项)
2014/04/23 HTML / CSS
澳大利亚自然和有机的健康美容产品一站式商店:Ziani Beauty
2017/12/28 全球购物
利用指针变量实现队列的入队操作
2012/04/07 面试题
法学专业个人求职信
2013/09/26 职场文书
自我评价如何写好?
2014/01/05 职场文书
应届电子商务毕业自荐书范文
2014/02/11 职场文书
企业授权委托书范本
2014/09/22 职场文书
十佳少年事迹材料
2014/12/25 职场文书
Mysql开启外网访问
2022/05/15 MySQL