diff --git a/netty-mqtt/src/main/java/org/thingsboard/mqtt/MqttClientImpl.java b/netty-mqtt/src/main/java/org/thingsboard/mqtt/MqttClientImpl.java index d8edf722ff..f7901b4bb5 100644 --- a/netty-mqtt/src/main/java/org/thingsboard/mqtt/MqttClientImpl.java +++ b/netty-mqtt/src/main/java/org/thingsboard/mqtt/MqttClientImpl.java @@ -462,19 +462,18 @@ final class MqttClientImpl implements MqttClient { return; } + disconnected = true; log.trace("[{}] Disconnecting from server", channel != null ? channel.id() : "UNKNOWN"); if (this.channel != null) { MqttMessage message = new MqttMessage(new MqttFixedHeader(MqttMessageType.DISCONNECT, false, MqttQoS.AT_MOST_ONCE, false, 0)); sendAndFlushPacket(message).addListener((ChannelFutureListener) future -> { future.channel().close(); - disconnected = true; }); eventLoop.schedule(() -> { if (channel.isOpen()) { log.trace("[{}] Channel still open after {} second; forcing close now", channel.id(), DISCONNECT_FALLBACK_DELAY_SECS); this.channel.close(); - disconnected = true; } }, DISCONNECT_FALLBACK_DELAY_SECS, TimeUnit.SECONDS); } diff --git a/packaging/java/build.gradle b/packaging/java/build.gradle index 19cbeb126e..499c34c412 100644 --- a/packaging/java/build.gradle +++ b/packaging/java/build.gradle @@ -92,7 +92,7 @@ buildRpm { archiveVersion = projectVersion.replace('-', '') archiveFileName = "${pkgName}.rpm" - requires("java-17") + requires("(java-17 or java-17-headless or jre-17 or jre-17-headless)") // .or() notation does work in RPM plugin from("${buildDir}/conf") { include "${pkgName}.conf"