mirror of
https://github.com/openhab/openhab-addons.git
synced 2025-01-10 15:11:59 +01:00
[shelly] Always try to stop WebSocketClient (#15721)
If the client is not stopped it will not be garbage collected because the ShutdownThread keeps a reference to the client so it can be stopped on shutdowns. See: https://github.com/eclipse/jetty.project/blob/jetty-9.4.x/jetty-websocket/websocket-client/src/main/java/org/eclipse/jetty/websocket/client/WebSocketClient.java#L420-L433 Signed-off-by: Wouter Born <github@maindrain.net>
This commit is contained in:
parent
04bbbbbd09
commit
d64dc9a046
@ -141,12 +141,10 @@ public class Shelly2ApiRpc extends Shelly2ApiClient implements ShellyApiInterfac
|
||||
rpcSocket.addMessageHandler(this);
|
||||
initialized = true;
|
||||
} else {
|
||||
if (rpcSocket.isConnected()) {
|
||||
logger.debug("{}: Disconnect Rpc Socket on initialize", thingName);
|
||||
disconnect();
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@Override
|
||||
public boolean isInitialized() {
|
||||
@ -1217,10 +1215,8 @@ public class Shelly2ApiRpc extends Shelly2ApiClient implements ShellyApiInterfac
|
||||
}
|
||||
|
||||
private void disconnect() {
|
||||
if (rpcSocket.isConnected()) {
|
||||
rpcSocket.disconnect();
|
||||
}
|
||||
}
|
||||
|
||||
public Shelly2RpctInterface getRpcHandler() {
|
||||
return this;
|
||||
|
@ -211,9 +211,7 @@ public class Shelly2RpcSocket {
|
||||
s.close(StatusCode.NORMAL, "Socket closed");
|
||||
session = null;
|
||||
}
|
||||
if (client.isStarted()) {
|
||||
client.stop();
|
||||
}
|
||||
} catch (Exception e) {
|
||||
if (e.getCause() instanceof InterruptedException) {
|
||||
logger.debug("{}: Unable to close socket - interrupted", thingName); // e.g. device was rebooted
|
||||
|
Loading…
Reference in New Issue
Block a user