MQTT 主题订阅

MQTT topic subscription

我正在使用 MQTT 和 activemq,其中每当在 MQTT 主题上发布的消息都会传输到 Activemq 队列,下面是我的代码。

<destinationInterceptors>
<virtualDestinationInterceptor>
    <virtualDestinations>
        <compositeTopic name="LOCAL.FOO.*">
            <forwardTo>
                <queue physicalName="LOCAL.FOO" />                      
            </forwardTo>
        </compositeTopic>
    </virtualDestinations>
</virtualDestinationInterceptor>

同时,另一个应用程序订阅了相同的 MQTT 主题,但该应用程序未从主题中获取任何消息,但队列可以获取消息。 那么activemq订阅后就没有人可以订阅同一个主题了吗?如果是这种情况,那么解决方案是什么。

我不知道 QoS 级别并保留 falg。

您需要指定此主题也可用于订阅。有一个 forwardOnly 属性,默认为 true

<compositeTopic name="LOCAL.FOO.*" forwardOnly="false">
    <forwardTo>
         <queue physicalName="LOCAL.FOO" />                      
    </forwardTo>
</compositeTopic>