python 发送和接收ActiveMQ消息的实例

 更新时间:2019年01月30日 09:54:37   作者:像风一样的自由  
今天小编就为大家分享一篇python 发送和接收ActiveMQ消息的实例,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧

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消息的实例就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持脚本之家。

相关文章

  • pytorch masked_fill报错的解决

    pytorch masked_fill报错的解决

    今天小编就为大家分享一篇pytorch masked_fill报错的解决,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧
    2020-02-02
  • pytorch 禁止/允许计算局部梯度的操作

    pytorch 禁止/允许计算局部梯度的操作

    这篇文章主要介绍了pytorch 禁止/允许计算局部梯度的操作,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧
    2021-05-05
  • python中eval的用法及说明

    python中eval的用法及说明

    这篇文章主要介绍了python中eval的用法及说明,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教
    2024-09-09
  • python正则表达式re.group()用法

    python正则表达式re.group()用法

    本文主要介绍了python正则表达式re.group()用法,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2022-08-08
  • flask route对协议作用及设计思路

    flask route对协议作用及设计思路

    这篇文章主要为大家介绍了flask route对协议作用及设计思路详解,有需要的朋友可以借鉴参考下,希望能够有所帮助,祝大家多多进步,早日升职加薪
    2022-07-07
  • python线程中的同步问题及解决方法

    python线程中的同步问题及解决方法

    这篇文章主要介绍了python线程中的同步问题及解决方法,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下
    2019-08-08
  • 在Python中利用Into包整洁地进行数据迁移的教程

    在Python中利用Into包整洁地进行数据迁移的教程

    这篇文章主要介绍了在Python中如何利用Into包整洁地进行数据迁移,在数据格式的任意两个格式之间高效地迁移数据,需要的朋友可以参考下
    2015-03-03
  • Python编程语言的35个与众不同之处(语言特征和使用技巧)

    Python编程语言的35个与众不同之处(语言特征和使用技巧)

    这篇文章主要介绍了Python编程语言的35个与众不同之处,Python编程语言的语言特征和使用技巧,需要的朋友可以参考下
    2014-07-07
  • python连接、操作mongodb数据库的方法实例详解

    python连接、操作mongodb数据库的方法实例详解

    这篇文章主要介绍了python连接、操作mongodb数据库的方法,结合实例形式详细分析了Python针对MongoDB数据库的连接、查询、排序等相关操作技巧,需要的朋友可以参考下
    2019-09-09
  • 极简Python库CherryPy构建高性能Web应用实例探索

    极简Python库CherryPy构建高性能Web应用实例探索

    今天为大家介绍的是 CherryPy,它是一个极简、稳定且功能强大的Web框架,可以帮助开发者快速构建高性能的 Web 应用程序,使用 CherryPy,你可以轻松地创建RESTful API、静态网站、异步任务和 WebSocket 等应用
    2024-01-01

最新评论