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中用Spark模块的使用教程
Apr 13 Python
用python实现简单EXCEL数据统计的实例
Jan 24 Python
Python基于identicon库创建类似Github上用的头像功能
Sep 25 Python
python3使用smtplib实现发送邮件功能
May 22 Python
python指定写入文件时的编码格式方法
Jun 07 Python
Python爬虫使用脚本登录Github并查看信息
Jul 16 Python
Python 实现Windows开机运行某软件的方法
Oct 14 Python
Python 实现域名解析为ip的方法
Feb 14 Python
Django REST framwork的权限验证实例
Apr 02 Python
Python基于xlutils修改表格内容过程解析
Jul 28 Python
jupyter使用自动补全和切换默认浏览器的方法
Nov 18 Python
用 Django 开发一个 Python Web API的方法步骤
Dec 03 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内核介绍及扩展开发指南―基础知识
2011/09/11 PHP
PHP自动生成表单代码分享
2015/06/19 PHP
详解PHP执行定时任务的实现思路
2015/12/21 PHP
ThinkPHP中limit()使用方法详解
2016/04/19 PHP
php+mysql查询实现无限下级分类树输出示例
2016/10/03 PHP
PHP自定义错误处理的方法分析
2018/12/19 PHP
TFDN图片播放器 不错自动播放
2006/10/03 Javascript
javascript 一个自定义长度的文本自动换行的函数
2007/08/19 Javascript
jQuery使用动态渲染表单功能完成ajax文件下载
2013/01/15 Javascript
使用jQuery实现的掷色子游戏动画效果
2014/03/14 Javascript
jquery 新建的元素事件绑定问题解决方案
2014/06/12 Javascript
JS限制文本框只能输入数字和字母方法
2015/02/28 Javascript
JS基于Ajax实现的网页Loading效果代码
2015/10/27 Javascript
Angular 1.x个人使用的经验小结
2017/07/19 Javascript
jQuery实现倒计时功能 jQuery实现计时器功能
2017/09/19 jQuery
vue项目中使用axios上传图片等文件操作
2017/11/02 Javascript
基于vue2.x的电商图片放大镜插件的使用
2018/01/22 Javascript
vue router总结 $router和$route及router与 router与route区别
2019/07/05 Javascript
p5.js绘制创意自画像
2019/11/04 Javascript
Selenium执行Javascript脚本参数及返回值过程详解
2020/04/01 Javascript
Node.js设置定时任务之node-schedule模块的使用详解
2020/04/28 Javascript
jQuery实现穿梭框效果
2021/01/19 jQuery
python实现每次处理一个字符的三种方法
2014/10/09 Python
Python中反射和描述器总结
2018/09/23 Python
Python字典推导式将cookie字符串转化为字典解析
2019/08/10 Python
Python udp网络程序实现发送、接收数据功能示例
2019/12/09 Python
python连接mongodb集群方法详解
2020/02/13 Python
django haystack实现全文检索的示例代码
2020/06/24 Python
pytorch VGG11识别cifar10数据集(训练+预测单张输入图片操作)
2020/06/24 Python
python中pickle模块浅析
2020/12/29 Python
党的群众教育实践活动实施方案
2014/06/12 职场文书
广告业务员岗位职责
2015/02/13 职场文书
2015年人力资源部工作总结
2015/04/30 职场文书
优秀共产党员主要事迹材料
2015/11/05 职场文书
mysql聚集索引、辅助索引、覆盖索引、联合索引的使用
2022/02/12 MySQL
redis复制有可能碰到的问题汇总
2022/04/03 Redis