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 相关文章推荐
scrapy spider的几种爬取方式实例代码
Jan 25 Python
DataFrame 将某列数据转为数组的方法
Apr 13 Python
PyCharm 创建指定版本的 Django(超详图解教程)
Jun 18 Python
使用python实现离散时间傅里叶变换的方法
Sep 02 Python
python中删除某个元素的方法解析
Nov 05 Python
Python数据可视化:饼状图的实例讲解
Dec 07 Python
在python中做正态性检验示例
Dec 09 Python
Django后端发送小程序微信模板消息示例(服务通知)
Dec 17 Python
PyTorch中permute的用法详解
Dec 30 Python
Python函数的迭代器与生成器的示例代码
Jun 18 Python
python dir函数快速掌握用法技巧
Dec 09 Python
Jupyter Notebook添加代码自动补全功能的实现
Jan 07 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安装扩展mysqli的实现步骤及报错解决办法
2017/09/23 PHP
JS是否可以跨文件同时控制多个iframe页面的应用技巧
2007/12/16 Javascript
jquery DOM操作 基于命令改变页面
2010/05/06 Javascript
Javascript面向对象编程(二) 构造函数的继承
2011/08/28 Javascript
利用JQuery动画制作滑动菜单项效果实现步骤及代码
2013/02/07 Javascript
ECMAScript 5中的属性描述符详解
2015/03/02 Javascript
javascript的几种继承方法介绍
2016/03/22 Javascript
Bootstrap4一次重大更新 几乎涉及每行代码
2016/05/16 Javascript
Servlet实现文件上传,可多文件上传示例
2016/12/05 Javascript
详谈angularjs中路由页面强制更新的问题
2017/04/24 Javascript
JavaScript实现二维坐标点排序效果
2017/07/18 Javascript
js数据类型检测总结
2018/08/05 Javascript
在vue项目中引入highcharts图表的方法
2019/01/21 Javascript
微信小程序 函数防抖 解决重复点击消耗性能问题实现代码
2019/09/12 Javascript
Node.js API详解之 V8模块用法实例分析
2020/06/05 Javascript
python 多进程通信模块的简单实现
2014/02/20 Python
python协程用法实例分析
2015/06/04 Python
Python实现的绘制三维双螺旋线图形功能示例
2018/06/23 Python
Python如何急速下载第三方库详解
2020/11/02 Python
草莓网官网:StrawberryNET
2019/08/21 全球购物
思想专业自荐信范文
2013/12/25 职场文书
工作的心得体会
2013/12/31 职场文书
委托书范本
2014/04/02 职场文书
禁止高声喧哗的标语
2014/06/11 职场文书
电子商务专业毕业生求职信
2014/06/12 职场文书
运动会广播稿200字(10篇)
2014/10/12 职场文书
乡镇领导班子四风整顿行动工作汇报
2014/10/25 职场文书
青年文明号汇报材料
2014/12/23 职场文书
求职信范文怎么写
2015/03/19 职场文书
英语教师求职信范文
2015/03/20 职场文书
《夸父追日》教学反思
2016/02/20 职场文书
PHP策略模式写法
2021/04/01 PHP
go类型转换及与C的类型转换方式
2021/05/05 Golang
MySQL 1130异常,无法远程登录解决方案详解
2021/08/23 MySQL
Linux安装apache服务器的配置过程
2021/11/27 Servers
MySQL中优化SQL语句的方法(show status、explain分析服务器状态信息)
2022/04/09 MySQL