diff --git a/src/main/java/biz/nynja/bridge/verticle/MQTTVerticle.java b/src/main/java/biz/nynja/bridge/verticle/MQTTVerticle.java index 8ec1003414a06e68ba23ce7e65cd005a9d419590..ddb07c6cd4e6e3c38cf3336b7967808b0a9dfe62 100644 --- a/src/main/java/biz/nynja/bridge/verticle/MQTTVerticle.java +++ b/src/main/java/biz/nynja/bridge/verticle/MQTTVerticle.java @@ -46,7 +46,7 @@ public class MQTTVerticle extends AbstractVerticle { clientOptions = new MqttClientOptions() .setAutoKeepAlive(keepAliveEnabled) .setKeepAliveTimeSeconds(configuration.getKeepAliveInterval()) - .setCleanSession(true) + .setCleanSession(false) .setClientId(configuration.getClientId()); } @@ -79,6 +79,11 @@ public class MQTTVerticle extends AbstractVerticle { client.pingResponseHandler(event -> log.debug("Pong received!")); client.closeHandler(event -> { log.warn("Connection lost!"); + try { + Thread.sleep(2000); + } catch (InterruptedException e) { + log.warn("Thread sleep interrupted!", e); + } circuitBreaker.execute(this::connectMqtt); }); }