如果特定主题提前与另一个主题匹配,是否有内置方法可以使用 hivemq-mqtt-client 检查?
例如,使用主题发布的消息:
publishedTopic= "sensors/sensor1";
订阅的客户:
subscribedTopic = "sensors/#";
有没有类似的东西
publishedTopic.matches(subscribedTopic)
?
具体情况:
我在家里经营一个经纪人,几个设备发布不同主题的值。有些像传感器/humi[45],有些像传感器/数据[JSON Payload]。对于我的个人用途,我使用 Java HiveQM MQTT 客户端运行应用程序。一位客户使用 raspberryPi 上的 mosquitto 订阅了相关主题。另一个客户端正在将选定的数据发布到可公开访问的代理。接收新消息不仅会以我处理它的方式处理所有数据,还会触发将接收到的消息发布到公共代理。
我可以
if(topic.equals("sensor/xxx")) {
//publish to public broker here
}
但是做一些事情,比如从我的内部代理订阅“sensor/#”,并“转发”类似“sensor/+”的东西,并让一个库来确定是否使用“sensors/#”接收到某个消息”,将重新发布给公共经纪人,仅限于“传感器/+”是我正在寻找的。
当我订阅“sensors/#”时,HiveMQ mqtt-client 库中的逻辑是否可以被库用户访问?