堵塞线程(Stuck Thread),相对比较容易理解,就是那些执行时间超过“粘滞线程最长时间”(默认是600秒)的线程。联机文档是这样说的:
如果执行线程处理某个请求的粘滞时间超过了配置的粘滞线程最大时间,则为“真”。
True if the execute thread is stuck working on a request for more than the configured stuck thread maximum time.
可以通过控制台的设置来增大或减小这个值(虽然绝大部分情况下修改这个值没有什么意义):
控制台 >> 环境 >> 服务器 >> MedRecSvr1 >> 配置 >> 优化 >> 粘滞线程最长时间
WebLogic把某些线程标记为Stuck Thread,是为了提醒我们那些线程执行的时间太长了。我们应该去分析线程为什么需要那么长时间才能执行完(甚至永远执行不完)。不去做根本原因的分析,而单纯的依靠增加“粘滞线程最长时间”这个值的设置来减少Stuck Thread线程的出现,是掩耳盗铃的做法。
独占线程(Hogging Thread),很多资料上都没有讲清楚。先来看看联机文档是怎么说的:
【独占】
如果根据调度程序的自动观察,某个请求独占执行线程的时间超过了正常执