【问题标题】:Weblogic hangs after request is processed by application at DynaQueue.getWWeblogic 在 DynaQueue.getW 的应用程序处理请求后挂起
【发布时间】:2013-11-27 10:00:25
【问题描述】:

在 Weblogic 12c / Solaris 10 生产系统上,处理请求的时间约为 5 秒。应用本身部署在Weblogic上耗时不到200ms,之后在weblogic内部方法DynaQueue.getW中执行线程被阻塞5秒。

当问题发生时,服务器上没有负载。

您知道什么会导致这种烦人的行为吗?知道如何进一步调查吗?

这是挂起的执行线程的堆栈跟踪:

“[ACTIVE] ExecuteThread: '4' for queue: 'weblogic.kernel.Default (self-tuning)'”守护进程 > prio=3 tid=0x0000000107280000 nid=0x27 in Object.wait() [0xffffffff66cfe000] java.lang.Thread.State:TIMED_WAITING(在对象监视器上) 在 java.lang.Object.wait(本机方法) - 等待 (一个 weblogic.socket.utils.DynaQueue) 在 weblogic.socket.utils.DynaQueue.getW(DynaQueue.java:237) - 锁定 (一个 weblogic.socket.utils.DynaQueue) 在 weblogic.socket.JavaSocketMuxer.processSockets(JavaSocketMuxer.java:336) 在 weblogic.socket.SocketReaderRequest.run(SocketReaderRequest.java:29) 在 weblogic.work.ExecuteThread.execute(ExecuteThread.java:256) 在 weblogic.work.ExecuteThread.run(ExecuteThread.java:221)

【问题讨论】:

    标签: weblogic12c solaris-10


    【解决方案1】:

    此问题是由 Solaris 级别的网络资源耗尽引起的。应用程序代码中的一个错误是过于频繁地初始化连接池。

    一旦应用程序代码被修复,Weblogic 就开始像魅力一样工作。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2014-04-15
      • 2018-10-28
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2019-06-20
      • 2013-04-22
      相关资源
      最近更新 更多