我有一个暴露的REst服务,它会调用一个脚本文件(shell脚本),需要20分钟才能完成并发送响应。我在日志中得到以下异常。
<Error> <WebLogicServer> <AdminServer>
<[ACTIVE] ExecuteThread: '6' for queue: 'weblogic.kernel.Default (self- tuning)'> <<WLS Kernel>> <> <> <1457678291528> <BEA-000337>
<[STUCK] ExecuteThread: '14' for queue: 'weblogic.kernel.Default (self-tuning)' has been busy for "606" seconds working on the request "Workmanager: default, Version: 0, Scheduled=true, Started=true, Started time: 606763 ms
[
POST /svc/oneclick/wsAuto/createTemplate/005056A509C4 HTTP/1.1
User-Agent: oneclick
Accept: */*
X-Forwarded-For: 10.19.120.25
X-Forwarded-Host: 10.19.120.48
X-Forwarded-Server: XXX-XXX-template-sa1.XXX.com
Connection: Keep-Alive
]", which is more than the configured time (StuckThreadMaxTime) of "600" seconds. Stack trace:
Thread-34 "[STUCK] ExecuteThread: '14' for queue: 'weblogic.kernel.Default (self-tuning)'" <alive, suspended, waiting, priority=1, DAEMON> {-- Waiting for notification on: java.lang.UNIXProcess@9a5ed5a[fat lock]
答案 0 :(得分:3)
您的处理需要20分钟,并且StuckThreadMaxTime的默认设置设置为600秒,您将在日志中看到此类错误。 您有两种选择:
答案 1 :(得分:0)
如果处理确实需要20分钟,则更改域中所有服务器上的StuckThreadMaxTime。 理想情况下,在部署Application的服务器上。 如何更改:http://docs.oracle.com/cd/E23943_01/apirefs.1111/e13952/taskhelp/tuning/TuningExecuteThreads.html