这两天发现我的tomcat总是用着用着莫名其妙地不返回东西了,也不报错。然后去查了一下java进程,做了一个dump发现非常多这样的进程:
"http-bio-8080-exec-14" daemon prio=10 tid=0x00007f8670011800 nid=0x6ed2 waiting for monitor entry [0x00007f86f55a7000]
java.lang.Thread.State: BLOCKED (on object monitor)
at org.apache.commons.pool.impl.GenericObjectPool.borrowObject(GenericObjectPool.java:781)
- waiting to lock <0x0000000600af2938> (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)
at org.springframework.jdbc.datasource.DataSourceUtils.doGetConnection(DataSourceUtils.java:111)
at org.springframework.jdbc.datasource.DataSourceUtils.getConnection(DataSourceUtils.java:77)