Python ActiveMQ 消费者实现

本文介绍了一个使用Python和STOMP协议实现的消息队列监听示例。通过创建一个监听器类,可以接收并处理来自指定主题的消息。示例中详细展示了如何设置连接、订阅主题及处理接收到的消息。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

#encoding:utf-8
import stomp
import sys
import  thread
# Create your tests here.
topic_name='/topic/your topic name'
broker_url='your broker ip'
broker_port='your broker port'
listener_name='Samplequeue'
from testapp import models
import  threading
class SampleListener(object):
    isrecieved = False
    def on_error(self,header,message):
        print ("%s" % header)
        print ("%s" % message)

    def on_message(self,headers,message):
        print ("%s" % header)
        print ("%s" % message)

class Consumer(threading.Thread):

    def __init__(self, t_name): 
        super(Consumer,self).__init__()
        self.t_name = t_name

    def run(self):
        conn = stomp.Connection10([(broker_url,broker_port)])
        conn.set_listener(listener_name,SampleListener())
        conn.start()
        conn.connect()
        conn.subscribe(topic_name)
        while 1:
            pass

 

Active 是一个流行的开源消息队列中间件,用于实现异步通信和消息传递。它基于 Java 编写,但也提供了 Python 的客户端库。 要在 Python 中使用 ActiveMQ,首先需要安装 ActiveMQPython 客户端库。可以使用 pip 进行安装,运行以下命令: ``` pip install pyactivemq ``` 安装完成后,你可以在 Python 代码中导入 pyactivemq 模块,并使用其中的类和方法来发送和接收消息。***```python from pyactivemq import ActiveMQConnectionFactory # 创建连接工厂 factory = ActiveMQConnectionFactory('tcp://localhost:61616') # 创建连接 connection = factory.createConnection() # 启动连接 connection.start() # 创建会话 session = connection.createSession() # 创建消息队列 destination = session.createQueue('my_queue') # 创建生产者 producer = session.createProducer(destination) # 创建消息 message = session.createTextMessage('Hello, ActiveMQ!') # 发送消息 producer.send(message) # 创建消费者 consumer = session.createConsumer(destination) # 接收消息 received_message = consumer.receive() # 打印消息内容 print(received_message.getText()) # 关闭会话和连接 consumer.close() session.close() connection.close() ``` 这只是一个简单的示例,你还可以根据具体需求进行更复杂的配置和操作。同时,请确保正确配置 ActiveMQ 服务器并替换示例代码中的连接字符串等信息。 希望这能帮到你!如果还有其他问题,请继续提问。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值