1

经过我在这里的研究和讨论后,我决定我需要为在分布式系统中属于同一控制流的不同 JVM 上的线程设置相同的名称。线程由例如 RMI 创建。以这种方式创建线程时是否可以设置名称?

4

2 回答 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 回答