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的设计模式编程入门指南
Apr 02 Python
json跨域调用python的方法详解
Jan 11 Python
python中dir()与__dict__属性的区别浅析
Dec 10 Python
Python实现的读取文件内容并写入其他文件操作示例
Apr 09 Python
基于pytorch的保存和加载模型参数的方法
Aug 17 Python
python 实现批量替换文本中的某部分内容
Dec 13 Python
python 子类调用父类的构造函数实例
Mar 12 Python
python实现五子棋程序
Apr 24 Python
python将unicode和str互相转化的实现
May 11 Python
Django视图、传参和forms验证操作
Jul 15 Python
python3 中使用urllib问题以及urllib详解
Aug 03 Python
Idea安装python显示无SDK问题解决方案
Aug 12 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读取excel文件示例分享(更新修改excel)
2014/02/27 PHP
用PHP做了一个领取优惠券活动的示例代码
2019/07/05 PHP
prototype Element学习笔记(篇一)
2008/10/26 Javascript
JQuery 学习笔记 选择器之六
2009/07/23 Javascript
JavaScript验证电子邮箱的函数
2014/08/22 Javascript
jquery单击事件和双击事件冲突解决方案
2016/03/02 Javascript
如何判断Javascript对象是否存在的简单实例
2016/05/18 Javascript
codeMirror插件使用讲解
2017/01/16 Javascript
详解Angular 4.x 动态创建组件
2017/04/25 Javascript
利用JavaScript如何查询某个值是否数组内
2017/07/30 Javascript
微信小程序自定义底部导航带跳转功能
2018/11/27 Javascript
基于JavaScript或jQuery实现网站夜间/高亮模式
2020/05/30 jQuery
js实现滑动进度条效果
2020/08/21 Javascript
解决nuxt页面中mounted、created、watch执行两遍的问题
2020/11/05 Javascript
[02:05]DOTA2完美大师赛趣味视频之看我表演
2017/11/18 DOTA
删除DataFrame中值全为NaN或者包含有NaN的列或行方法
2018/11/06 Python
详解Python传入参数的几种方法
2019/05/16 Python
在VS2017中用C#调用python脚本的实现
2019/07/31 Python
python for循环remove同一个list过程解析
2019/08/14 Python
详解在python操作数据库中游标的使用方法
2019/11/12 Python
pytorch自定义二值化网络层方式
2020/01/07 Python
python编程进阶之异常处理用法实例分析
2020/02/21 Python
python GUI库图形界面开发之PyQt5窗口控件QWidget详细使用方法
2020/02/26 Python
Python读取Excel数据并生成图表过程解析
2020/06/18 Python
python基本算法之实现归并排序(Merge sort)
2020/09/01 Python
CSS3的RGBA中关于整数和百分比值的转换
2015/08/04 HTML / CSS
Book Depository美国:全球领先的专业网上书店之一
2019/08/14 全球购物
C/C++ 笔试、面试题目大汇总
2015/11/21 面试题
涉外文秘个人求职的自我评价
2013/10/07 职场文书
团员的自我评价
2013/12/01 职场文书
纪检监察建议书
2014/05/19 职场文书
大学生毕业求职信
2014/06/12 职场文书
在宿舍喝酒的检讨书
2014/09/28 职场文书
海上钢琴师观后感
2015/06/03 职场文书
详解Java实践之适配器模式
2021/06/18 Java/Android
MySQL插入数据与查询数据
2022/03/25 MySQL