使用 stompest 为 python 生成持久消息

Producing persistent message using stompest for python

我无法使用 stompest 和 python 向 AMQ queue 发送持久消息。不知道要使用什么 header??? 下面是源代码

from stompest.config import StompConfig
from stompest.sync import Stomp
import os

CONFIG = StompConfig('tcp://localhost:61613')
QUEUE = '/queue/myQueue'


if __name__ == '__main__':

    try:
        client = Stomp(CONFIG)
        client.connect({'login':'#####','passcode':'#####'})
        for i in range(10):
            msg="Test Message" +str(i)
            client.send(QUEUE,msg)
        client.disconnect()
    except Exception,e:
        print e

如果您坚持不懈,您可能还想在交易中向您发送消息。

with client.transaction(receipt='important') as transaction:
        client.send(QUEUE, 'test',{'persistent':'true', StompSpec.TRANSACTION_HEADER: transaction})

这样,您可以确保所有或 none 一组消息最终都在队列中。如果事务块中出现错误,消息将不会提交到队列。阅读消息也是如此。

您必须将发送行更改为:

client.send(QUEUE,msg, headers={'persistent' :'true'})