需要帮助在WebSphere服务器上运行的java应用程序中查找HUNG Threads的根本原因

时间:2014-06-16 14:08:03

标签: java java-ee websphere sybase

有人可以帮我找到HUNG Thread以下的根本原因。 请在下面找到堆栈跟踪。

ThreadMonitor W WSVR0605W:Thread" WebContainer:19" (0000004e)已激活765581毫秒,可能会挂起 服务器中总共有1个线程可能挂起。

    at java.net.SocketInputStream.socketRead0(Native Method) 
    at java.net.SocketInputStream.read(SocketInputStream.java:129) 
    at com.sybase.timedio.RawDbio.reallyRead(RawDbio.java) 
    at com.sybase.timedio.Dbio.doRead(Dbio.java) 
    at com.sybase.timedio.InStreamMgr.readIfOwner(InStreamMgr.java) 
    at com.sybase.timedio.InStreamMgr.doRead(InStreamMgr.java) 
    at com.sybase.tds.TdsProtocolContext.getChunk(TdsProtocolContext.java) 
    at com.sybase.tds.PduInputFormatter.readPacket(PduInputFormatter.java) 
    at com.sybase.tds.PduInputFormatter.read(PduInputFormatter.java) 
    at com.sybase.tds.TdsInputStream.read(TdsInputStream.java) 
    at com.sybase.tds.TdsInputStream.readUnsignedByte(TdsInputStream.java) 
    at com.sybase.tds.Tds.nextResult(Tds.java) 
    at com.sybase.jdbc.ResultGetter.nextResult(ResultGetter.java) 
    at com.sybase.jdbc.SybStatement.nextResult(SybStatement.java) 
    at com.sybase.jdbc.SybStatement.queryLoop(SybStatement.java) 
    at com.sybase.jdbc.SybStatement.executeQuery(SybStatement.java) 
    at com.sybase.jdbc.SybCallableStatement.executeQuery(SybCallableStatement.java) 
    at com.ibm._jsp._prodStatHandlingAgent._jspService(_prodStatHandlingAgent.java:247) 
    at com.ibm.ws.jsp.runtime.HttpJspBase.service(HttpJspBase.java:98) 
    at javax.servlet.http.HttpServlet.service(HttpServlet.java:831) 
    at com.ibm.ws.webcontainer.servlet.ServletWrapper.service(ServletWrapper.java:1661) 
    at com.ibm.ws.webcontainer.servlet.ServletWrapper.handleRequest(ServletWrapper.java:937) 
    at com.ibm.ws.webcontainer.servlet.ServletWrapper.handleRequest(ServletWrapper.java:500) 
    at com.ibm.ws.webcontainer.servlet.ServletWrapperImpl.handleRequest(ServletWrapperImpl.java:178) 
    at com.ibm.wsspi.webcontainer.servlet.GenericServletWrapper.handleRequest(GenericServletWrapper.java:121) 
    at com.ibm.ws.jsp.webcontainerext.AbstractJSPExtensionServletWrapper.handleRequest(AbstractJSPExtensionServletWrapper.java:239) 
    at com.ibm.ws.webcontainer.servlet.CacheServletWrapper.handleRequest(CacheServletWrapper.java:91) 
    at com.ibm.ws.webcontainer.WebContainer.handleRequest(WebContainer.java:864) 
    at com.ibm.ws.webcontainer.WSWebContainer.handleRequest(WSWebContainer.java:1583) 
    at com.ibm.ws.webcontainer.channel.WCChannelLink.ready(WCChannelLink.java:186) 
    at com.ibm.ws.http.channel.inbound.impl.HttpInboundLink.handleDiscrimination(HttpInboundLink.java:455) 
    at com.ibm.ws.http.channel.inbound.impl.HttpInboundLink.handleNewInformation(HttpInboundLink.java:384) 
    at com.ibm.ws.http.channel.inbound.impl.HttpICLReadCallback.complete(HttpICLReadCallback.java:83) 
    at com.ibm.ws.tcp.channel.impl.WorkQueueManager.requestComplete(WorkQueueManager.java:557) 
    at com.ibm.ws.tcp.channel.impl.WorkQueueManager.attemptIO(WorkQueueManager.java:607) 
    at com.ibm.ws.tcp.channel.impl.WorkQueueManager.workerRun(WorkQueueManager.java:984) 
    at com.ibm.ws.tcp.channel.impl.WorkQueueManager$Worker.run(WorkQueueManager.java:1069) 
    at com.ibm.ws.util.ThreadPool$Worker.run(ThreadPool.java:1550) 

注意:如果您需要更多信息,请发表评论。

谢谢。

1 个答案:

答案 0 :(得分:0)

您的数据库(sybase)操作似乎很慢。 在这种情况下,您已发送数据库查询,您只需等待响应。 通常有两个原因:

  1. 您的查询未经过优化,需要很长时间才能完成。
  2. 您只需使用特定查询获取大量数据,因此您应该缩小条件范围。
  3. 您正在访问的数据库资源被另一个连接锁定。您可以使用数据库工具找出数据库中发生的情况。