ThreadMonitor如何工作?

时间:2010-09-28 06:38:23

标签: multithreading websphere

我使用工作经理在几所大学到核心银行进行数据库同步: 同步将每5分钟开始一次,直到完成。

但我有一个错误:

  

ThreadMonitor W WSVR0605W:线程“WorkManager.DefaultWorkManager:1250”(00001891)已激活1009570毫秒且可能挂起。服务器中总共有2个线程可能挂起。

此错误导致数据库同步自动回滚。

我在这里找到了一些文档:http://publib.boulder.ibm.com/infocenter/wasinfo/v6r0/index.jsp?topic=/com.ibm.websphere.express.doc/info/exp/ae/ttrb_confighangdet.html

ThreadMonitor始终监视活动线程,并且在线程处于活动状态的时间超过警报阈值中设置的N毫秒以上时,ThreadMonitor始终提供上述错误消息。但是,我注意到我的所有同步操作都需要比N更长的时间才能完成。

我的问题是,当活动线程运行超过N毫秒(即,它是一个挂起的线程)时,ThreadMonitor是否只报告一个警告,或者ThreadMonitor是否也会杀死挂起的线程?

1 个答案:

答案 0 :(得分:6)

ThreadMonitor只监视超过阈值时间的活动线程。

这应该作为WAS管理员的警告,某些线程正在使用大量时间来处理(可能是真的或其他)

ThreadMonitor 不会杀死线程。

在许多情况下,它可能真的需要花费很长时间来处理(取决于它的作用),因此ThreadMonitor只是将自己限制为识别可能挂起的线程并留下实际工作来找出线程正在做什么(基于线程转储和定位特定的ThreadID)

如果您希望使用与默认值不同的值,则可以为服务器配置阈值时间。

@Muky,

com.ibm.websphere.threadmonitor.threshold 是您需要配置的属性。

请查看此网址:http://pic.dhe.ibm.com/infocenter/wasinfo/v7r0/index.jsp?topic=%2Fcom.ibm.websphere.express.doc%2Finfo%2Fexp%2Fae%2Fttrb_confighangdet.html了解详情。

HTH Manglu