0

在使用 MDC 时,我们在 JBoss 6.1 中有一个非常奇怪的行为。我们的应用程序是一个 SOAP Web 服务,在连接到该服务后,我们会生成一个唯一的事务 ID,我们在 MDC 中设置该事务 ID 用于记录日志。
现在,当我在本地计算机上以独立模式运行服务器时,这可以正常工作。它似乎在属于两服务器集群的另一台服务器上工作正常。另一台机器不能正常工作。然后我们在同一个集群中还有六台服务器无法正常工作。

发生的情况是 MDC.put 设置的唯一事务 id 在线程之间混淆了。一旦新客户端连接到服务并获得新的事务 ID,所有其他活动会话都会获得相同的事务 ID。当会话结束并且我们从该会话中删除 MDC 事务 id 时,它会从所有活动会话中删除。

我完全不知道如何解决这个问题,因为我无法在我的本地机器上重现这个问题。在有两台机器的集群中,一台工作,另一台不工作,我在 JBoss 配置中可以找到没有区别。

有没有人对如何追踪问题的实际问题有任何建议?

谢谢

4

0 回答 0