Я пытаюсь подписаться на тему в ActiveMQ, запущенную в localhost
, используя stompest для подключения к брокеру. Пожалуйста, обратитесь к коду ниже:
import os
import json
from stompest.sync import Stomp
from stompest.config import StompConfig
CONFIG = StompConfig(uri=os.environ['MQ_URL'],
login=os.environ['MQ_UID'],
passcode=os.environ['MQ_DWP'],
version="1.2")
topic = '/topic/SAMPLE.TOPIC'
msg = {'refresh': True}
client = Stomp(CONFIG)
client.connect()
client.send(topic, json.dumps(msg).encode())
client.disconnect()
client = Stomp(CONFIG)
client.connect(heartBeats=(0, 10000))
token = client.subscribe(topic, {
"ack": "client",
"id": '0'
})
frame = client.receiveFrame()
if frame and frame.body:
print(f"Frame received from MQ: {frame.info()}")
client.disconnect()
Хотя я вижу активное соединение с веб-консолью ActiveMQ, в коде не получено никакого сообщения. Поток управления, кажется, останавливается на frame = client.receiveFrame()
.
Я не нашел надежного ресурса или документации по этому поводу.
Я делаю что-то не так здесь?