经过我在这里的研究和讨论后,我决定我需要为在分布式系统中属于同一控制流的不同 JVM 上的线程设置相同的名称。线程由例如 RMI 创建。以这种方式创建线程时是否可以设置名称?
问问题
484 次
2 回答
2
没有自动方法可以将此信息从客户端传输到服务器。
Context
听起来您想要/需要在客户端(每个线程?)上设置某种对象并作为方法参数传递给您的 RMI 服务器。该Context
对象不仅可以包含线程名称,还可以包含其他信息,例如调用进程 pid 等。
然后,您必须使用该Context
对象来相应地设置线程名称等,Thread.setName()
一旦它通过电线传递。展望未来,您可以使用它在您的日志框架中设置特定于上下文的信息(例如,使用 Log4j嵌套诊断上下文)
进一步自动化方面的使用留给读者进一步练习:-)
于 2012-07-30T08:06:15.297 回答
0
Thread 类有一个静态方法来setName(String)
. 如果您可以让线程(无论它们来自何处)运行该方法,那么您应该很高兴。这些人在与 Tomcat 相关的线程上也有类似的问题。
于 2012-07-30T08:05:33.720 回答