python利用stomp连接activemq,已验证可以连接成功

安装使用到的库

输入如下命令安装stomp
pip install stomp.py

发送请求

# -*-coding:utf-8-*-

import stomp
import time

# 队列名(接收方可以根据管道名来选择接受那个队列数据)
location_queue = "123456"
# 服务器ip,端口固定用这个
conn = stomp.Connection([('127.0.0.1', 61613)])
# 账号密码
conn.connect(username='admin', passcode='admin', wait=True)


def send_to_queue(msg):
    print('---------消息发送--------------')
    # body=数据, destination=根据队列名传输数据,如果队列不存在,就创建一个
    conn.send(body=str(msg), destination=location_queue)
    print(msg)

if __name__ == '__main__':
    send_to_queue('len 123')
    # receive_from_queue()
    conn.disconnect()


接收数据

# -*-coding:utf-8-*-
import stomp


# 队列名
location_queue = "123456"
conn = stomp.Connection([('127.0.0.1', 61613)])
conn.connect(username='admin', passcode='admin', wait=True)


class SampleListener(object):
    def on_message(self, headers, message):
        print('headers: %s' % headers)
        print('message: %s' % message)

def receive_from_queue():
    # 如果接受数据,就调用这个类,里面的参数是类名和类,名称必须一致
    conn.set_listener('SampleListener', SampleListener())
    # 从选择的管道中区数据,管道名,id(随便写一个数字就行)
    conn.subscribe(location_queue, 12)
    # 不能让程序停止,负责每传一次数据都得接收一次
    while True:
        pass



if __name__ == '__main__':
    receive_from_queue()
    conn.disconnect()

注意

连接端口是61613

你可能感兴趣的:(java-activemq,python,activemq)