Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/398.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
部分挂起的j2ee服务器的Java线程转储帮助_Java_Debugging_Jakarta Ee_Stack Trace - Fatal编程技术网

部分挂起的j2ee服务器的Java线程转储帮助

部分挂起的j2ee服务器的Java线程转储帮助,java,debugging,jakarta-ee,stack-trace,Java,Debugging,Jakarta Ee,Stack Trace,我们的J2ee服务器(由于尴尬的原因将保持匿名)有时会急剧减速。我已经创建了一个线程转储。并试图分析它。我不明白的一件事是,有些人在等待锁时没有找到锁线程。以下是该线程的堆栈跟踪的一部分: waiting for monitor entry [] at org.apache.commons.pool.impl.GenericObjectPool.borrowObject(GenericObjectPool.java:781) - waiting to lock <0xsomenumber&

我们的J2ee服务器(由于尴尬的原因将保持匿名)有时会急剧减速。我已经创建了一个线程转储。并试图分析它。我不明白的一件事是,有些人在等待锁时没有找到锁线程。以下是该线程的堆栈跟踪的一部分:

waiting for monitor entry []
at org.apache.commons.pool.impl.GenericObjectPool.borrowObject(GenericObjectPool.java:781)
- waiting to lock <0xsomenumber> (a org.apache.commons.pool.impl.GenericObjectPool)
at org.apache.commons.dbcp.PoolingDataSource.getConnection(PoolingDataSource.java:96)
at org.apache.commons.dbcp.BasicDataSource.getConnection(BasicDataSource.java:880)
正在等待监视器条目[]
位于org.apache.commons.pool.impl.GenericObjectPool.borrowObject(GenericObjectPool.java:781)
-等待锁定(org.apache.commons.pool.impl.GenericObject池)
位于org.apache.commons.dbcp.poolgDataSource.getConnection(poolgDataSource.java:96)
位于org.apache.commons.dbcp.BasicDataSource.getConnection(BasicDataSource.java:880)
这个数字只是等待而已。我没看到有什么东西锁着它。这怎么可能

谢谢


更详细的更新:jdk版本是1.4.2.05

使用jdk中的JConsole连接到应用程序服务器,并使用线程窗格上的“检测死锁”按钮。

我没有提到我们正在使用jdk 1.4。因此JConsole不可用。我将看一下将数据库连接释放回连接池的代码。您描述的症状听起来像是池的可用连接不足。