Help with dumping Java thread of partially hanging j2ee server

Our J2ee server (which will remain unnamed for embarrassment reasons) slows down from time to time. I managed to dump the stream. And trying to analyze it. One of the things I don’t understand is some waiting on locks without detecting a blocking stream. Here is part of the stack trace of such a stream:

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) 

Number somenumber just waiting. I do not see anything blocking. How can it be?

Thanks.

Update in more detail: jdk version - 1.4.2.05

+4
source share
1 answer

Use the JConsole in the JDK to connect to the application server and use the "Detect Deadlock" button in the Threads panel.

+2
source

Source: https://habr.com/ru/post/1306847/


All Articles