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基础教程之数字处理(math)模块详解
Mar 25 Python
Python中Collections模块的Counter容器类使用教程
May 31 Python
python3读取MySQL-Front的MYSQL密码
May 03 Python
Python和Go语言的区别总结
Feb 20 Python
python3.7 利用函数os pandas利用excel对文件名进行归类
Sep 29 Python
python框架flask表单实现详解
Nov 04 Python
Python While循环语句实例演示及原理解析
Jan 03 Python
tensorflow实现打印ckpt模型保存下的变量名称及变量值
Jan 04 Python
Django添加bootstrap框架时无法加载静态文件的解决方式
Mar 27 Python
基于virtualenv创建python虚拟环境过程图解
Mar 30 Python
python dict如何定义
Sep 02 Python
python 检测nginx服务邮件报警的脚本
Dec 31 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
打造计数器DIY三步曲(上)
2006/10/09 PHP
我的论坛源代码(七)
2006/10/09 PHP
PHP is_subclass_of函数的一个BUG和解决方法
2014/06/01 PHP
jQuery+PHP+ajax实现微博加载更多内容列表功能
2014/06/27 PHP
PHP实现的简单AES加密解密算法实例
2017/05/29 PHP
Javascript 强制类型转换函数
2009/05/17 Javascript
javascript之typeof、instanceof操作符使用探讨
2013/05/19 Javascript
Javascript表格翻页效果实现思路及代码
2013/08/23 Javascript
js 页面元素的几个用法总结
2013/11/18 Javascript
IE6浏览器中window.location.href无效的解决方法
2014/11/20 Javascript
纯CSS3代码实现滑动开关效果
2015/08/19 Javascript
非常酷炫的Bootstrap图片轮播动画
2016/05/27 Javascript
js浏览器html5表单验证
2016/10/17 Javascript
vue组件之Alert的实现代码
2017/10/17 Javascript
angularJs自定义过滤器实现手机号信息隐藏的方法
2018/10/08 Javascript
详解vuex数据传输的两种方式及this.$store undefined的解决办法
2019/08/26 Javascript
Django框架中render_to_response()函数的使用方法
2015/07/16 Python
用Python写一个无界面的2048小游戏
2016/05/24 Python
python+matplotlib绘制饼图散点图实例代码
2018/01/20 Python
详解TensorFlow在windows上安装与简单示例
2018/03/05 Python
python list格式数据excel导出方法
2018/10/31 Python
详解用python自制微信机器人,定时发送天气预报
2019/03/25 Python
在Python中预先初始化列表内容和长度的实现
2019/11/28 Python
如何使用PyCharm将代码上传到GitHub上(图文详解)
2020/04/27 Python
HTML5 Canvas 起步(2) - 路径
2009/05/12 HTML / CSS
html5文字阴影效果text-shadow使用示例
2013/07/25 HTML / CSS
DJI大疆无人机官方商城:全球领先的无人飞行器研发和生产商
2016/12/21 全球购物
如何写一封打动人心的求职信
2014/02/17 职场文书
厕所文明标语
2014/06/11 职场文书
中职招生先进个人材料
2014/08/31 职场文书
中学生检讨书范文
2014/11/03 职场文书
2014年圣诞节寄语
2014/12/08 职场文书
借款民事起诉状范文
2015/05/19 职场文书
Mysql文件存储图文详解
2021/06/01 MySQL
Python与C++中梯度方向直方图的实现
2022/03/17 Python
Python加密技术之RSA加密解密的实现
2022/04/08 Python