Skip to content

Commit

Permalink
Issue #5832 - deregister ShutdownThread for WebSocketClientContainer
Browse files Browse the repository at this point in the history
Signed-off-by: Lachlan Roberts <lachlan@webtide.com>
  • Loading branch information
lachlan-roberts committed Dec 22, 2020
1 parent 06df421 commit 97bbec7
Show file tree
Hide file tree
Showing 2 changed files with 15 additions and 15 deletions.
Expand Up @@ -17,7 +17,6 @@
import javax.websocket.WebSocketContainer;

import org.eclipse.jetty.util.component.LifeCycle;
import org.eclipse.jetty.util.thread.ShutdownThread;
import org.eclipse.jetty.websocket.javax.client.internal.JavaxWebSocketClientContainer;

/**
Expand Down Expand Up @@ -59,22 +58,14 @@ protected WebSocketContainer getContainer()
// TODO: do we want to provide a non-standard way to configure to always return the same clientContainer based on a config somewhere? (system.property?)

JavaxWebSocketClientContainer clientContainer = new JavaxWebSocketClientContainer();

// Register as JVM runtime shutdown hook?
ShutdownThread.register(clientContainer);

if (!clientContainer.isStarted())
try
{
try
{
clientContainer.start();
}
catch (Exception e)
{
throw new RuntimeException("Unable to start Client Container", e);
}
clientContainer.start();
}
catch (Exception e)
{
throw new RuntimeException("Unable to start Client Container", e);
}

return clientContainer;
}
}
Expand Up @@ -33,6 +33,7 @@

import org.eclipse.jetty.client.HttpClient;
import org.eclipse.jetty.util.annotation.ManagedObject;
import org.eclipse.jetty.util.thread.ShutdownThread;
import org.eclipse.jetty.websocket.core.WebSocketComponents;
import org.eclipse.jetty.websocket.core.client.WebSocketCoreClient;
import org.eclipse.jetty.websocket.core.exception.InvalidWebSocketException;
Expand All @@ -59,6 +60,14 @@ public class JavaxWebSocketClientContainer extends JavaxWebSocketContainer imple
public JavaxWebSocketClientContainer()
{
this(new WebSocketComponents());
ShutdownThread.register(this);
}

@Override
protected void doStop() throws Exception
{
super.doStop();
ShutdownThread.deregister(this);
}

/**
Expand Down

0 comments on commit 97bbec7

Please sign in to comment.