更改Jetty WebSocketListener线程名称

时间:2015-04-29 18:25:05

标签: jetty jetty-9

如何指定ThreadFactory来更改调用onWebSocketConnect的回调(onWebSocketTextWebSocketListener)的线程名称?

线程名称是我在创建Server对象之前已知的固定名称。

我尝试了以下不幸的工作。

jettyServer = new Server(new NamedQueuedThreadPool("MyThreadNamePrefix");

import org.eclipse.jetty.util.thread.QueuedThreadPool;

class NamedQueuedThreadPool extends QueuedThreadPool {
    private final String threadName;

    public NamedQueuedThreadPool(final String threadName) {
        this.threadName = threadName;
    }

    @Override
    protected Thread newThread(final Runnable runnable) {
        Thread t = super.newThread(runnable);
        t.setName(threadName);
        return t;
    }
}

我仍然看到线程名称如:qtp1692017180-191(我猜这代表排队的线程池)

我正在使用jetty-server-9.2.9

修改 对我而言,它并不关心哪个线程执行特定的客户端请求,我只希望所有线程都具有相同的名称,我可以在某处选择。

例如,我将使用" Adapter / SomeInstanceId"作为所有线程的线程名称的前缀,这将被写入日志,并为我提供了一种方便的过滤/分组方法。

0 个答案:

没有答案