在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秒内标记为卡住状态?
答案 0 :(得分:0)
请在以下网址登录weblogic控制台:
主页&gt;服务器摘要&gt;调整选项卡
Stuck Thread Max Time: decide it appropriately
Stuck Thread Timer Interval: decide it appropriately
并为您的代理/业务服务分配工作管理器。