EJB事务超时与StuckThreadMaxTime

时间:2015-07-02 17:54:08

标签: transactions ejb weblogic middleware osb

在Oracle Service Bus中,我有一个处理大量数据的代理服务。我将相应EJB的事务超时配置为900秒。我希望这次交易不会超时。

但我在下面看到登录服务器日志

####<Jun 25, 2015 5:58:04 AM PDT> <Error> <WebLogicServer> <nke-lnx-int-p001> <prdserver1> <[ACTIVE] ExecuteThread: '32' for queue: 'weblogic.kernel.Default (self-tuning)'> <<WLS Kernel>> <> <1cbea9e26a1a3466:1932bd6d:14e2ab3c297:-8000-00000000000211a1> <1435237084076> <BEA-000337> <[STUCK] ExecuteThread: '21' for queue: 'weblogic.kernel.Default (self-tuning)' has been busy for "645" seconds working on the request "Workmanager: WorkManager-proxy1, Scheduled=false, Started=true, Started time: 645788 ms
", which is more than the configured time (StuckThreadMaxTime) of "600" seconds. 

如果事务超时是28800秒,服务不应该等待这个完整的时间,为什么线程在600秒内标记为卡住状态?

1 个答案:

答案 0 :(得分:0)

请在以下网址登录weblogic控制台:

主页&gt;服务器摘要&gt;调整选项卡

Stuck Thread Max Time: decide it appropriately

Stuck Thread Timer Interval: decide it appropriately

并为您的代理/业务服务分配工作管理器。