使用stompest for python生成持久性消息

时间:2015-06-03 15:56:05

标签: python activemq stomp

我无法使用stompest和python将持久性消息发送到AMQ队列..不知道要使用哪个头? 以下是源代码

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

2 个答案:

答案 0 :(得分:2)

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

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

这样,您可以确保队列中的所有消息都不会结束。如果事务块中出现错误,则消息将不会提交到队列。读取消息也是如此。

答案 1 :(得分:0)

您必须将发送行更改为:

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