我在Solaris 10机器上运行带有Sun 1.4.2 Java的WAS 5.1。试图找出应用程序无响应的原因。
我在一个线程转储中看到,名为Servlet.Engine.Transport[...]
的大多数线程仍然停留在此堆栈跟踪上:
"Servlet.Engine.Transports : 10388" daemon prio=5 tid=0x00304620 nid=0x322f runnable [1b3cf000..1b3cfc28]
at java.net.SocketInputStream.socketRead0(Native Method)
at java.net.SocketInputStream.read(SocketInputStream.java:129)
at com.ibm.ws.io.Stream.read(Stream.java:17)
at com.ibm.ws.io.ReadStream.readBuffer(ReadStream.java:418)
at com.ibm.ws.io.ReadStream.read(ReadStream.java:110)
at com.ibm.ws.http.HttpConnection.run(HttpConnection.java:454)
at com.ibm.ws.util.ThreadPool$Worker.run(ThreadPool.java:936)
我想我应该把它们视为空闲线程(保持连接状态),但我找不到太多信息来证实这个理论......?
答案 0 :(得分:1)
查看“最新的”5.1源代码,行号确实意味着这是一个keepalive读取而不是在请求内读取数据。