是否可能只从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()
为什么你不分享你的问题,而不是你心中的解决方案?问题可能并不像你想的那样是个问题,或者有更好的解决方案。在
回答你的问题,是的,你可以。对于ActiveMQ案例,您可以添加额外的头,如{'activemq.prefetchSize“:100},ans set ack='client',当您订阅队列时。但你根本不承认这些信息。结果就是你收到的信息不会超过100条。在
我得说这是一个尴尬的解决办法。您的代码最终将消耗队列中的前100条消息,仅此而已。显然,您可以断开连接并重新订阅同一队列以接收接下来的100条消息。在
相关问题 更多 >
编程相关推荐