У меня есть программа, работающая с использованием mqtt paho версии MqttConnectOptions.MQTT_VERSION_3_1_1 . Я подписываюсь на тему «устройство / + / публиковать», и в моей программе получено сообщение от оборудования. До вчерашнего дня он работал хорошо, сегодня у меня возникла проблема, что код не обрабатывался после строки подписки. Я изменил свой объект mqttclient на MqttAsyncClient. и подпишите код как
mqttClient.subscribe("device/+/publish", 0 , new IMqttMessageListener() {
@Override
public void messageArrived(String topic, MqttMessage mqttMessage) throws Exception {
// TODO Auto-generated method stub
System.out.println(
"---------------------------------------------------------------------------------------------------");
processMessage(mqttMessage, collarTopic, identity);
}
});
messageArrived также записывается в MqttCallbackExtended () как
mqttClient.setCallback(new MqttCallbackExtended() {
@Override
public void messageArrived(String topic, MqttMessage mqttMessage) throws Exception {
// TODO Auto-generated method stub
System.out.println(
"---------------------------------------------------------------------------------------------------");
processMessage(mqttMessage, collarTopic, identity);
}
Но это никогда не вызывается в моей программе. Я вижу сообщение, полученное с той же подпиской, в MQTTBox, но не в моей программе.
Может кто-нибудь помочь?