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递归查询菜单并转换成json实例
Mar 27 Python
Python爬虫中urllib库的进阶学习
Jan 05 Python
快速解决PyCharm无法引用matplotlib的问题
May 24 Python
python 遍历目录(包括子目录)下所有文件的实例
Jul 11 Python
详解用python实现基本的学生管理系统(文件存储版)(python3)
Apr 25 Python
python代码 FTP备份交换机配置脚本实例解析
Aug 01 Python
python 二维矩阵转三维矩阵示例
Nov 30 Python
python退出循环的方法
Jun 18 Python
基于Python正确读取资源文件
Sep 14 Python
python实现简单贪吃蛇游戏
Sep 29 Python
Pycharm 设置默认解释器路径和编码格式的操作
Feb 05 Python
浅谈python数据类型及其操作
May 25 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入门学习笔记之一
2010/10/12 PHP
深入理解curl类,可用于模拟get,post和curl下载
2013/06/08 PHP
PHP函数getenv简介和使用实例
2014/05/12 PHP
php实现文件下载实例分享
2014/06/02 PHP
PHP+MYSQL会员系统的开发实例教程
2014/08/23 PHP
PHP中实现Bloom Filter算法
2015/03/30 PHP
java模拟PHP的pack和unpack类
2016/04/13 PHP
让div层随鼠标移动的实现代码 ie ff
2009/12/18 Javascript
Prototype源码浅析 String部分(三)之HTML字符串处理
2012/01/15 Javascript
javascript计算当月剩余天数(天数计算器)示例代码
2014/01/09 Javascript
jquery中each遍历对象和数组示例
2014/08/05 Javascript
js限制文本框只能输入整数或者带小数点的数字
2015/04/27 Javascript
js实现获取当前时间是本月第几周的方法
2015/08/11 Javascript
完善的jquery处理机制
2016/02/21 Javascript
JS创建事件的三种方法(实例代码)
2016/05/12 Javascript
高效Web开发的10个jQuery代码片段
2016/07/22 Javascript
Bootstrap3 datetimepicker控件使用实例
2016/12/13 Javascript
Vue2仿淘宝实现省市区三级联动
2020/04/15 Javascript
Vue shopCart 组件开发详解
2018/01/26 Javascript
简单了解JavaScript sort方法
2019/11/25 Javascript
vue使用vant中的checkbox实现全选功能
2020/11/17 Vue.js
利用Opencv中Houghline方法实现直线检测
2018/02/11 Python
python 实现selenium断言和验证的方法
2019/02/13 Python
python networkx 根据图的权重画图实现
2019/07/10 Python
python实现数据分析与建模
2019/07/11 Python
Python面向对象程序设计之静态方法、类方法、属性方法原理与用法分析
2020/03/23 Python
新版Pycharm中Matplotlib不会弹出独立的显示窗口的问题
2020/06/02 Python
python利用xpath爬取网上数据并存储到django模型中
2021/02/26 Python
html5-websocket基于远程方法调用的数据交互实现
2012/12/04 HTML / CSS
简洁自适应404页面HTML好看的404源码
2020/12/16 HTML / CSS
Charlotte Tilbury澳大利亚官网:英国美妆品牌
2018/10/05 全球购物
马耳他航空公司官方网站:Air Malta
2019/05/15 全球购物
工伤事故证明
2014/10/20 职场文书
导游词之江苏同里古镇
2019/11/18 职场文书
读《茶花女》有感:山茶花的盛开与凋零
2020/01/17 职场文书
Python中快速掌握Data Frame的常用操作
2021/03/31 Python