如何获取待处理的 ActiveMQ 消息?

How to get pending ActiveMQ messages?

提问人:Caeser 提问时间:10/24/2023 最后编辑:Justin BertramCaeser 更新时间:10/25/2023 访问量:28

问:

我正在开发一个使用来自 ActiveMQ 队列的消息的 Socket.IO 应用程序。我正在使用 Node.js 的 STOMP 库。

我可以从队列发送和接收消息,但我想获取队列中已有的待处理消息的列表。有没有办法使用 STOMP 实现这一点?如果没有,任何人都可以将我指向另一个可以为我提供待处理消息详细信息的库。

const Stomp = require("stomp-client");
const client = new Stomp("localhost", 61613);

client.connect((sessionId) => {
  console.log(`🚀 receiver connected successfully.`);
  client.subscribe("/queue/PENDING", onMessageCallback);
});

const onMessageCallback = (body, headers) => {
  console.log(`🚀 ~ onMessageCallback ~ body:`, body);
  console.log(`🚀 ~ onMessageCallback ~ headers:`, headers);
};
节点.js activeMQ stomp

评论


答:

0赞 Matt Pavlovich 10/24/2023 #1

签出 ActiveMQ 消息 REST API。

仅供参考 - STOMP 协议支持浏览,并且存在 ActiveMQ 服务器端浏览实现,但我的快速扫描没有看到专门针对它的单元测试。您可以启动一个代理并添加 BROWSER 选项来订阅,看看它是否“有效”。

评论

1赞 Justin Bertram 10/25/2023
需要明确的是,STOMP 协议本身不支持消息浏览。该功能将特定于实现。
0赞 Senthil 10/25/2023
JMS Queue Browser for STOMP over ActiveMQ 的替代方案:通过 Jolokia 协议 -> HTTP-JMX 桥接,它有多种浏览方法。希望我们能阅读待处理的消息。参考: stackoverflow.com/questions/71383792/...