python 发送和接收ActiveMQ消息的实例
作者:像风一样的自由 时间:2022-08-23 18:45:20
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等多个消息类型。
来源:https://blog.csdn.net/five3/article/details/79569587
标签:python,发送,接收,ActiveMQ


猜你喜欢
Python之ThreadPoolExecutor线程池问题
2022-03-24 10:25:00

Python time三种时间转换小结
2022-05-15 18:38:20

Python中正则表达式的详细教程
2023-07-14 23:53:14

PhpStorm配置debug环境的详细过程
2023-05-26 20:04:32
python并发编程多进程 模拟抢票实现过程
2022-03-07 11:53:05
python实现同时给多个变量赋值的方法
2021-10-09 07:02:50
TensorFlow卷积神经网络MNIST数据集实现示例
2023-04-20 18:33:12
在vue.js中使用JSZip实现在前端解压文件的方法
2024-04-22 22:15:34

opencv+python实现均值滤波
2023-10-21 15:00:58

python通过ffmgep从视频中抽帧的方法
2023-10-02 12:35:39
SqlServer中的日期与时间函数
2011-11-03 17:12:34
使用Python-pptx 告别繁琐的幻灯片制作
2021-12-10 12:03:23

Pycharm使用Database Navigator连接mysql数据库全过程
2024-01-15 03:58:35

Django中更改默认数据库为mysql的方法示例
2024-01-23 03:19:56
如何将一个CSV格式的文件分割成两个CSV文件
2022-02-17 01:24:29
Python3如何使用多线程升程序运行速度
2023-02-06 05:11:42
Python识别快递条形码及Tesseract-OCR使用详解
2022-10-20 01:32:32

基于keras输出中间层结果的2种实现方式
2023-10-11 16:05:49
MySQL深度分页(千万级数据量如何快速分页)
2024-01-26 12:33:54

属性与 @property 方法让你的python更高效
2023-02-02 08:20:18