Skip to main content

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index] [List Home]
Re: [jetty-users] Closing a jaxa.websocket.WebSocketContainer in Jetty 9.1


My problem is that I'm developing a library for others to use.
And System.exit() just doesn't belong in any piece of code that should be used by others.
I've tried dealing with libraries that uses System.exit and it is just a royal pain.

I just want something simple. All the threads I create myself are daemon threads.
But Jetty creates a lot of non-daemon threads. And I do not really understand why they
aren't daemons (at least when created via org.eclipse.jetty.websocket.jsr356.JettyClientContainerProvider)?

- Kasper

On Tue, Jan 7, 2014 at 4:53 PM, John English <john.foreign@xxxxxxxxx> wrote:
On 07/01/2014 11:17, Kasper Nielsen wrote:
I do have users that might not remember to close the library in a finally block.
Which is needed, for example, if some exception is thrown.

Maybe kick off another thread from the main thread that does a join on the main thread followed by System.exit? Something like this:

  class Terminator extends Thread {
    private Thread creator;
    public Terminator() {
      creator = Thread.currentThread();
    public void run() {
      while (creator.isAlive()) {
        try {
        catch Exception e) { }

John English

jetty-users mailing list

Back to the top