我在Weblogic实例中部署的应用程序有时会变得太慢。那时,它遇到了与托管服务器日志中的Stuck Thread Time相关的错误。最初,当我注意到这一点时,我做了一些研究,并将Max Stuck Thread Time的值增加到800秒而不是600秒。但是,这并没有解决问题。我再次收到以下错误。
WatchRule: (SEVERITY = 'Error') AND ((MSGID = 'WL-000337') OR (MSGID = 'BEA-000337'))
WatchData: MESSAGE = [STUCK] ExecuteThread: '58' for queue: 'weblogic.kernel.Default (self-tuning)' has been busy for "812" seconds working on the request "Http Request Information: weblogic.servlet.internal.ServletRequestImpl@42f38088[POST /****/faces/index.jsf]
", which is more than the configured time (StuckThreadMaxTime) of "800" seconds in "server-failure-trigger". Stack trace:
oracle.jbo.pcoll.PCollNode.objectAt(PCollNode.java:1753)
oracle.jbo.pcoll.PCollNode.objectAt(PCollNode.java:1753)
oracle.jbo.pcoll.PCollection.elementAt(PCollection.java:839)
oracle.jbo.server.QueryCollection.get(QueryCollection.java:2556)
oracle.jbo.server.ViewRowSetImpl.getRow(ViewRowSetImpl.java:5540)
oracle.jbo.server.ViewRowSetIteratorImpl.getRangeIndexOf(ViewRowSetIteratorImpl.java:1179)
oracle.jbo.server.ViewRowSetIteratorImpl.notifyRowUpdated(ViewRowSetIteratorImpl.java:3491)
We are using
ADF 12c for application development
Weblogic Version: 12.2.1 in windows server
Database : Oracle 11g
Jdk version : 1.8-65
任何人都可以告诉我这个问题的原因和可能的解决方案吗? 提前谢谢。
答案 0 :(得分:0)
增加卡住的线程时间无法解决您的问题。从堆栈跟踪看起来您的应用程序可能正在读取某个文件。缓慢可能有不同的原因
1)可能是您正在阅读的文件非常大 2)网络可能很慢 3)可能是IO延迟
如果可能,您可以在应用程序中引入一些调试消息。这将提供有关运行应用程序的过程的详细信息。 如果您在linux / unix环境中运行应用程序,那么您可以监视/ var / proc目录中的进程活动