Amazon MQ 未收到任何队列消息

问题描述

我有一个 NodeJS 程序,它使用 mqtt NPM 插件向 Amazon MQ 发送消息。我配置了队列并订阅,然后发布消息。 Here代码

监听器使用 OpenWire JMS 客户端,我使用 MQTT 或 WSS 发送消息。在这两种情况下,JMS 客户端都没有收到任何消息。

如果我为接收器编写 NodeJS 代码,它就可以工作。

JMS 客户端是否必须使用 MQTT/WSS 来接收消息?协议在这里重要吗?

解决方法

MQTT 是基于 Topic 的消息传递协议,因此从 MQTT 发布者发送的消息的订阅者需要监听 Topic 而不是 Queue。当不存在订阅时发布/订阅主题,除非在生成消息之前存在持久的主题订阅,否则消息将被丢弃,因此请注意这一点。

在 ActiveMQ 中有 routing 消息从一个目的地到另一个目的地的方法,因此您可以利用它来路由消息,或者您可以使用类似 Camel 的路由来转发从MQTT 客户端到队列。