这是我正在测试的监听器脚本
import stomp
import time
class SampleListener(object):
def on_message(self, headers, msg):
print(msg)
conn = stomp.Connection([('localhost',61613)])
conn.set_listener('SampleListener', SampleListener())
conn.start()
conn.connect()
conn.subscribe(destination='queue_name', id=1, ack='auto')
time.sleep(10) # secs
conn.disconnect()
如果您只想用STOMP一次读取一条消息,那么唯一的方法就是使用一个ack模式,例如client或client individual,这样,只有当客户机为它所拥有的消息发送了一个显式的ack时,才会向它发送新的消息。这还需要将prefetch值设置为1,这样代理就不会向客户机发送一批消息。在
STOMP确认模式在规范here中定义。代理的STOMP支持文档是here。客户端使用头设置预取activemq.prefetchSize'在订阅上,如ActiveMQ文档中所列。在
相关问题 更多 >
编程相关推荐