python stomp 收发指定的消息

发布时间:2019-08-14 12:46:25编辑:auto阅读(1780)

    python stomp收发指定的消息

    # -*- coding: utf-8 -*-
    import sys
    import time
    import sys
    import stomp
    
    class MyListener(object):
        def on_error(self, headers, message):
            print('received an error %s' % message)
        def on_message(self, headers, message):
            print('received a message %s' % headers)
    
    
    conn = stomp.Connection10([('localhost',61613)])  
    conn.set_listener('logicServerQueue', MyListener())
    conn.start()
    conn.connect(wait=True)
    
    
    # 发送消息到testQueue队列,指定consumerId='88.3@6006'
    conn.send(body=b'hahah', destination='testQueue', headers={'consumerId': '88.3@6006'})
    # 从testQueue队列中接收消息,用selector过滤,只接收consumerId = '88.3@6006'的消息
    conn.subscribe(destination='testQueue', headers={'selector' : "consumerId = '88.3@6006'"})
    
    while True:
        try:
            time.sleep(1)
        except:
            break
    
    conn.disconnect()
    
    time.sleep(2)
    conn.disconnect()
    

    这里写图片描述

    从控制台可以看出consumerId = ‘88.3@6006’被设置到了消息的headers中

关键字