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目录与文件名操作例子
Aug 28 Python
python制作小说爬虫实录
Aug 14 Python
详解flask入门模板引擎
Jul 18 Python
python json.loads兼容单引号数据的方法
Dec 19 Python
Python 中Django安装和使用教程详解
Jul 03 Python
Python3常用内置方法代码实例
Nov 18 Python
Python图像处理库PIL的ImageEnhance模块使用介绍
Feb 26 Python
浅谈django channels 路由误导
May 28 Python
Python urllib2运行过程原理解析
Jun 04 Python
基于Python3读写INI配置文件过程解析
Jul 23 Python
经验丰富程序员才知道的8种高级Python技巧
Jul 27 Python
用python查找统一局域网下ip对应的mac地址
Jan 13 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
日本收入最高的漫画家:海贼王作者版税年收入高达8.45亿元
2020/03/04 日漫
php 输出双引号"与单引号'的方法
2010/05/09 PHP
php获取网站百度快照日期的方法
2015/07/29 PHP
解决PHP curl或file_get_contents下载图片损坏或无法打开的问题
2019/10/11 PHP
线路分流自动跳转代码;希望对大家有用!
2006/12/02 Javascript
jQuery学习笔记之jQuery的事件
2010/12/22 Javascript
javascript获取鼠标位置部分的实例代码(兼容IE,FF)
2013/08/05 Javascript
使用js在页面中绘制表格核心代码
2013/09/16 Javascript
node.js Web应用框架Express入门指南
2014/05/28 Javascript
jQuery解决$符号命名冲突
2016/06/18 Javascript
Jquery Easyui进度条组件Progress使用详解(8)
2020/03/26 Javascript
React-router 4 按需加载的实现方式及原理详解
2017/05/25 Javascript
angularjs $http实现form表单提交示例
2017/06/09 Javascript
使用nodeJs来安装less及编译less文件为css文件的方法
2017/11/20 NodeJs
支付宝小程序自定义弹窗dialog插件的实现代码
2018/11/30 Javascript
vue的列表交错过渡实现代码示例
2019/05/05 Javascript
Vue-cli3.X使用px2 rem遇到的问题及解决方法
2019/08/08 Javascript
Vue开发中遇到的跨域问题及解决方法
2020/02/11 Javascript
[03:48]大碗DOTA
2019/07/25 DOTA
python解析中国天气网的天气数据
2014/03/21 Python
详解Python命令行解析工具Argparse
2016/04/20 Python
Tornado协程在python2.7如何返回值(实现方法)
2017/06/22 Python
Python中的正则表达式与JSON数据交换格式
2019/07/03 Python
美国迪克体育用品商店:DICK’S Sporting Goods
2018/07/24 全球购物
贝斯特韦斯特酒店集团官网:Best Western
2019/01/03 全球购物
任课老师推荐信范文
2013/11/24 职场文书
品质主管岗位职责
2014/03/16 职场文书
党员评议个人总结
2014/10/20 职场文书
盗窃案辩护词
2015/05/21 职场文书
2015年“我们的节日·中秋节”活动总结
2015/07/30 职场文书
《揠苗助长》教学反思
2016/02/20 职场文书
三好学生评选事迹材料(2016精选版)
2016/02/25 职场文书
《飘》英文读后感五篇
2019/10/11 职场文书
前端监听websocket消息并实时弹出(实例代码)
2021/11/27 Javascript
Ruby处理YAML和json数据
2022/04/18 Ruby
SQL Server中搜索特定的对象
2022/05/25 SQL Server