我有一个设置,其中消息作为 MQTT 生成到 ActiveMQ。
我有两个消费者,一个作为 JMS,另一个作为 MQTT。
当我将消息作为 JMS 消息发布到主题“foo”时,我在 JMS 和 MQTT 消费者处都收到消息,但是当我在同一主题上作为 MQTT 发布时,我仅在 MQTT 消费者上收到消息,而什么也没有收到由 JMS 消费者接收。
在作为 MQTT 发布时,我需要做一些特别的事情才能作为 MQTT 和 JMS 使用吗?
请帮忙。
更新 :
JMS消费者 https://gist.github.com/sushilshah/4ea662832a434f29f204#file-consumer
JMS制作人 https://gist.github.com/sushilshah/4ea662832a434f29f204#file-producer
MQTT 发布者 https://gist.github.com/sushilshah/4ea662832a434f29f204#file-mqtt_publisher
MQTT 订阅者 https://gist.github.com/sushilshah/4ea662832a434f29f204#file-mqtt_subscriber
activemq.xml https://gist.github.com/sushilshah/4ea662832a434f29f204#file-activemq
您的问题似乎是您的 JMS 使用者期望消息以 TextMessage 形式到达,这是处理 MQTT 生成的消息时的错误假设。
MQTT 消息是二进制的,没有内容类型信息或标头来定义有效负载。因此,代理将始终将它们解释为 BytesMessage 并按此方式分派它们。您将需要为此事实进行编码并使用 BytesMessage,然后将有效负载作为字符串读取。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)