如何更改标准JDK corba ORB线程池的线程名称

时间:2015-06-17 17:16:47

标签: java multithreading corba

是否可以设置默认线程池中使用的标准jdk corba ORB的线程名称?

默认情况下,每个连接有3个线程。他们的名字无用,因为他们总是默认为:p:default-threadpool; w: Idle。主要出于调试原因更改名称会很棒。

查看JDK com.sun.corba.se.impl.orbutil.threadpool.ThreadpoolManagerImpl源我可以看到无法从类外部访问该名称。目前我在控制线程时使用Thread.currentThread().setName()来设置线程名称,但这似乎是一个黑客攻击。还有更好的方法吗?

1 个答案:

答案 0 :(得分:0)

您可以迭代当前正在运行的线程,并根据需要重命名它们。类似的东西:

int counter = 1;
for (Thread t : Thread.getAllStackTraces().keySet()) {
  if (t.getName().startsWith("p:default-threadpool")) t.setName("Corba #" + counter++);
}