python stomp从activemq接收的消息数

2024-04-25 00:26:49 发布

您现在位置:Python中文网/ 问答频道 /正文

是否可能只从activemq接收多个消息。在

假设我只需要从队列接收100条消息,是否可能。在

我使用的是消息监听方法,有没有其他方法来接收消息。在

示例代码段:

queue_messages = []

class SampleListener(object):
    def on_message(self, headers, msg):
        queue_messages.append(msg)
def read_messages():
    queue_connection = stomp.Connection([(activemq_host, int(activemq_port))])
    queue_connection.start()
    queue_connection.connect('admin', 'admin')
    queue_connection.set_listener('SampleListener', SampleListener())
    queue_connection.subscribe(destination=activemq_input_q, id=1, ack='auto')
    time.sleep(1)
    queue_connection.disconnect()

read_messages()

Tags: 方法消息示例readadmin队列queuedef
1条回答
网友
1楼 · 发布于 2024-04-25 00:26:49

为什么你不分享你的问题,而不是你心中的解决方案?问题可能并不像你想的那样是个问题,或者有更好的解决方案。在

回答你的问题,是的,你可以。对于ActiveMQ案例,您可以添加额外的头,如{'activemq.prefetchSize“:100},ans set ack='client',当您订阅队列时。但你根本不承认这些信息。结果就是你收到的信息不会超过100条。在

我得说这是一个尴尬的解决办法。您的代码最终将消耗队列中的前100条消息,仅此而已。显然,您可以断开连接并重新订阅同一队列以接收接下来的100条消息。在

相关问题 更多 >