messageArrived никогда не вызывается в клиенте mqtt paho - PullRequest
0 голосов
/ 04 июля 2018

У меня есть программа, работающая с использованием 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, но не в моей программе.

Может кто-нибудь помочь?

...