diff --git a/src/main/resources/MqttUpdater.jadd b/src/main/resources/MqttUpdater.jadd index ef3e483fc80a389f4d5311cbfc6b9c0dccab7885..6e986f2df4fc44f67e28b0015e524e1455f5e5fd 100644 --- a/src/main/resources/MqttUpdater.jadd +++ b/src/main/resources/MqttUpdater.jadd @@ -145,16 +145,18 @@ public class MqttUpdater { // subscribe at broker org.fusesource.mqtt.client.Topic[] topicArray = { new org.fusesource.mqtt.client.Topic(topic, this.qos) }; - connection.subscribe(topicArray, new org.fusesource.mqtt.client.Callback<byte[]>() { - @Override - public void onSuccess(byte[] qoses) { - logger.debug("Subscribed to {}, qoses: {}", topic, qoses); - } + connection.getDispatchQueue().execute(() -> { + connection.subscribe(topicArray, new org.fusesource.mqtt.client.Callback<byte[]>() { + @Override + public void onSuccess(byte[] qoses) { + logger.debug("Subscribed to {}, qoses: {}", topic, qoses); + } - @Override - public void onFailure(Throwable cause) { - logger.error("Could not subscribe to {}", topic, cause); - } + @Override + public void onFailure(Throwable cause) { + logger.error("Could not subscribe to {}", topic, cause); + } + }); }); } @@ -187,30 +189,34 @@ public class MqttUpdater { logger.warn("Stopping without connection. Was setHost() called?"); return; } - connection.disconnect(new org.fusesource.mqtt.client.Callback<Void>() { - @Override - public void onSuccess(Void value) { - logger.info("Disconnected {} from {}", name, host); - } + connection.getDispatchQueue().execute(() -> { + connection.disconnect(new org.fusesource.mqtt.client.Callback<Void>() { + @Override + public void onSuccess(Void value) { + logger.info("Disconnected {} from {}", name, host); + } - @Override - public void onFailure(Throwable ignored) { - // Disconnects never fail. And we do not care either. - } + @Override + public void onFailure(Throwable ignored) { + // Disconnects never fail. And we do not care either. + } + }); }); } public void publish(String topic, byte[] bytes) { - connection.publish(topic, bytes, qos, false, new org.fusesource.mqtt.client.Callback<Void>() { - @Override - public void onSuccess(Void value) { - logger.debug("Published some bytes to {}", topic); - } + connection.getDispatchQueue().execute(() -> { + connection.publish(topic, bytes, qos, false, new org.fusesource.mqtt.client.Callback<Void>() { + @Override + public void onSuccess(Void value) { + logger.debug("Published some bytes to {}", topic); + } - @Override - public void onFailure(Throwable value) { - logger.warn("Could not publish on topic '{}'", topic); - } + @Override + public void onFailure(Throwable value) { + logger.warn("Could not publish on topic '{}'", topic); + } + }); }); } }