diff options
author | Henning Baldersheim <balder@yahoo-inc.com> | 2022-01-07 15:06:17 +0100 |
---|---|---|
committer | Henning Baldersheim <balder@yahoo-inc.com> | 2022-01-07 15:06:17 +0100 |
commit | 48f8a7c32a5d7b575470500a3c90dfea561b6091 (patch) | |
tree | 2c7cae1f45492137f73facf441509ef96bde78b2 /container-messagebus | |
parent | cdb6a8521b56ff30ff8abda7b5342986df977f2e (diff) |
Use a daemon thread have wait for shutdown to complete.
Diffstat (limited to 'container-messagebus')
-rw-r--r-- | container-messagebus/src/main/java/com/yahoo/messagebus/jdisc/MbusClient.java | 8 | ||||
-rw-r--r-- | container-messagebus/src/main/java/com/yahoo/messagebus/jdisc/MbusServer.java | 4 |
2 files changed, 9 insertions, 3 deletions
diff --git a/container-messagebus/src/main/java/com/yahoo/messagebus/jdisc/MbusClient.java b/container-messagebus/src/main/java/com/yahoo/messagebus/jdisc/MbusClient.java index 7fa294422d6..31453a78dfe 100644 --- a/container-messagebus/src/main/java/com/yahoo/messagebus/jdisc/MbusClient.java +++ b/container-messagebus/src/main/java/com/yahoo/messagebus/jdisc/MbusClient.java @@ -43,6 +43,7 @@ public final class MbusClient extends AbstractResource implements ClientProvider this.session = session; this.sessionReference = session.refer(this); thread = new Thread(new SenderTask(), "mbus-client-" + threadId.getAndIncrement()); + thread.setDaemon(true); } @Override @@ -79,6 +80,11 @@ public final class MbusClient extends AbstractResource implements ClientProvider log.log(Level.FINE, "Destroying message bus client."); sessionReference.close(); done = true; + try { + thread.join(); + } catch (InterruptedException e) { + + } } @Override @@ -121,7 +127,7 @@ public final class MbusClient extends AbstractResource implements ClientProvider if (error == null) { return true; } - if (error.isFatal()) { + if (error.isFatal() || done) { final Reply reply = new EmptyReply(); reply.swapState(request.getMessage()); reply.addError(error); diff --git a/container-messagebus/src/main/java/com/yahoo/messagebus/jdisc/MbusServer.java b/container-messagebus/src/main/java/com/yahoo/messagebus/jdisc/MbusServer.java index e7b1fc3e71d..084a5f82268 100644 --- a/container-messagebus/src/main/java/com/yahoo/messagebus/jdisc/MbusServer.java +++ b/container-messagebus/src/main/java/com/yahoo/messagebus/jdisc/MbusServer.java @@ -75,8 +75,8 @@ public final class MbusServer extends AbstractResource implements ServerProvider return; } if (state == State.STOPPED) { - // We might need to detect requests originating from the same JVM, as they nede to fail fast - // As they are holding references to the container preventing proper shutdown. + // We might need to detect requests originating from the same JVM, as they need to fail fast + // as they are holding references to the container preventing proper shutdown. dispatchErrorReply(msg, ErrorCode.SESSION_BUSY, "MBusServer has been closed."); return; } |