[Minor] Fixed shutdown NPEs
This commit is contained in:
parent
cacd917e5c
commit
a3a67278e5
|
@ -150,7 +150,8 @@ public class DefaultPlcHandler extends StrolchComponent implements PlcHandler, P
|
||||||
getContainer().getPrivilegeHandler().invalidate(this.ctx.getCertificate());
|
getContainer().getPrivilegeHandler().invalidate(this.ctx.getCertificate());
|
||||||
|
|
||||||
this.run = false;
|
this.run = false;
|
||||||
this.messageSenderTask.cancel(true);
|
if (this.messageSenderTask != null)
|
||||||
|
this.messageSenderTask.cancel(true);
|
||||||
|
|
||||||
super.stop();
|
super.stop();
|
||||||
}
|
}
|
||||||
|
@ -275,8 +276,8 @@ public class DefaultPlcHandler extends StrolchComponent implements PlcHandler, P
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
try (StrolchTransaction tx = openTx(validateCtx().getCertificate(), getCallerMethod(), false)
|
try (StrolchTransaction tx = openTx(validateCtx().getCertificate(), getCallerMethod(), false).silentThreshold(
|
||||||
.silentThreshold(SILENT_THRESHOLD, MILLISECONDS)) {
|
SILENT_THRESHOLD, MILLISECONDS)) {
|
||||||
tx.lock(Resource.locatorFor(TYPE_PLC_ADDRESS, addressId));
|
tx.lock(Resource.locatorFor(TYPE_PLC_ADDRESS, addressId));
|
||||||
Resource addressRes = tx.getResourceBy(TYPE_PLC_ADDRESS, addressId, true);
|
Resource addressRes = tx.getResourceBy(TYPE_PLC_ADDRESS, addressId, true);
|
||||||
|
|
||||||
|
@ -305,8 +306,8 @@ public class DefaultPlcHandler extends StrolchComponent implements PlcHandler, P
|
||||||
if (this.verbose)
|
if (this.verbose)
|
||||||
s = nanoTime();
|
s = nanoTime();
|
||||||
|
|
||||||
try (StrolchTransaction tx = openTx(validateCtx().getCertificate(), getCallerMethod(), false)
|
try (StrolchTransaction tx = openTx(validateCtx().getCertificate(), getCallerMethod(), false).silentThreshold(
|
||||||
.silentThreshold(SILENT_THRESHOLD, MILLISECONDS)) {
|
SILENT_THRESHOLD, MILLISECONDS)) {
|
||||||
tx.lock(Resource.locatorFor(TYPE_PLC_CONNECTION, plcConnection.getId()));
|
tx.lock(Resource.locatorFor(TYPE_PLC_CONNECTION, plcConnection.getId()));
|
||||||
Resource connection = tx.getResourceBy(TYPE_PLC_CONNECTION, plcConnection.getId());
|
Resource connection = tx.getResourceBy(TYPE_PLC_CONNECTION, plcConnection.getId());
|
||||||
updateConnectionState(tx, connection, plcConnection);
|
updateConnectionState(tx, connection, plcConnection);
|
||||||
|
|
|
@ -120,7 +120,8 @@ public class PlcGwClientHandler extends StrolchComponent implements GlobalPlcLis
|
||||||
|
|
||||||
this.run = false;
|
this.run = false;
|
||||||
this.authenticated = false;
|
this.authenticated = false;
|
||||||
this.messageSenderTask.cancel(false);
|
if (this.messageSenderTask != null)
|
||||||
|
this.messageSenderTask.cancel(false);
|
||||||
|
|
||||||
notifyPlcConnectionState(ConnectionState.Disconnected);
|
notifyPlcConnectionState(ConnectionState.Disconnected);
|
||||||
|
|
||||||
|
@ -212,8 +213,8 @@ public class PlcGwClientHandler extends StrolchComponent implements GlobalPlcLis
|
||||||
// schedule the heart beat timer
|
// schedule the heart beat timer
|
||||||
if (this.serverConnectFuture != null)
|
if (this.serverConnectFuture != null)
|
||||||
this.serverConnectFuture.cancel(true);
|
this.serverConnectFuture.cancel(true);
|
||||||
this.serverConnectFuture = getScheduledExecutor("Server")
|
this.serverConnectFuture = getScheduledExecutor("Server").scheduleWithFixedDelay(this::pingServer, PING_DELAY,
|
||||||
.scheduleWithFixedDelay(this::pingServer, PING_DELAY, PING_DELAY, TimeUnit.SECONDS);
|
PING_DELAY, TimeUnit.SECONDS);
|
||||||
}
|
}
|
||||||
|
|
||||||
private void closeBrokenGwSessionUpdateState(String closeReason, String connectionStateMsg) {
|
private void closeBrokenGwSessionUpdateState(String closeReason, String connectionStateMsg) {
|
||||||
|
|
Loading…
Reference in New Issue