我正在使用MQTT和activemq,其中每当MQTT主题上发布的消息将传输到Activemq队列时,下面是我的代码。
<destinationInterceptors>
<virtualDestinationInterceptor>
<virtualDestinations>
<compositeTopic name="LOCAL.FOO.*">
<forwardTo>
<queue physicalName="LOCAL.FOO" />
</forwardTo>
</compositeTopic>
</virtualDestinations>
</virtualDestinationInterceptor>
同时另一个应用程序订阅相同的 MQTT主题,但该应用程序没有从主题获取任何消息,但队列可以获得消息。 那么在activemq订阅之后没有人可以订阅相同的主题?如果是这种情况,那将是什么解决方案。
我对QoS等级一无所知并保留了falg。
答案 0 :(得分:1)
您需要指定此主题也可用于订阅。默认情况下,forwardOnly
属性为true
。
<compositeTopic name="LOCAL.FOO.*" forwardOnly="false">
<forwardTo>
<queue physicalName="LOCAL.FOO" />
</forwardTo>
</compositeTopic>