java - 如何检查MQTT中是否存在主题?

标签 java rabbitmq mqtt paho

我正在将 mosquitto MQ 与 eclipse paho java 库一起使用。我想在订阅主题并获取消息之前检查主题是否存在。我该怎么做?

最佳答案

简短的回答是你不知道。

主题并不是真正存在的东西,直到消息发布到一个人的那一刻。

订阅者告诉代理它感兴趣的主题,如果发布者向其中一个主题发布消息,那么该消息将被转发给该订阅者(允许使用 ACL)。

可以订阅包含通配符的主题,如果您想要匹配多个主题,这会有所帮助。有 2 个通配符。

  • + 匹配主题中的单个元素。例如foo/+/bar 将匹配 foo/1/bar 和 foo/something/bar

  • # 匹配多个段,但仅匹配主题末尾。例如/foo/# 将匹配/foo/1 和 foo/bar/1/something。你不能把它放在最后的任何地方,所以 foo/#/bar 将不起作用

@ΦXocę 웃 Пepeúpa ツ 提到的 $SYS 主题仅提供有关代理的统计信息,而不提供存在的主题。

关于java - 如何检查MQTT中是否存在主题?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43221929/

相关文章:

amazon-web-services - 使用 AWS IoT 通过 Websocket 使用 MQTT 的连接 header 不正确

mqtt - 为什么 HAProxy 在 TLS 握手结束时关闭与 HiveMQ MQTT 客户端的连接?

java - datastax 驱动程序示例中缺少方法

kubernetes - 失败的 K8s rabbitmq-peer-discovery-k8s 集群

java - 在 JAVA 中换行

WCF 双工、套接字编程、RabbitMQ

jms - RabbitMQ 与 Mule 相比如何

c++ - 在 C++ 项目中链接 Paho C Mqtt 库错误

Java processbuilder 和使用环境变量

java - 在 Eclipse 中创建新的 Java 项目时出错