`
dingjun1
  • 浏览: 208528 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类
最新评论

dbcp1.4 bug

阅读更多
版本dbcp-1.4     commons-pool-1.5.4

原因未知

id=428, blockedCount=6128, blockedTime=0, waitedCount=48458, waitedTime=0, threadUserTime=3.39h, threadCpuTime=4.16h

"pool-3-thread-1" Id=428 TIMED_WAITING on org.apache.tomcat.dbcp.pool.impl.GenericObjectPool$Latch@79008449
at java.lang.Object.wait(Native Method)
-  waiting on org.apache.tomcat.dbcp.pool.impl.GenericObjectPool$Latch@79008449
at org.apache.tomcat.dbcp.pool.impl.GenericObjectPool.borrowObject(GenericObjectPool.java:1123)
at org.apache.tomcat.dbcp.dbcp.PoolingDataSource.getConnection(PoolingDataSource.java:106)
at org.apache.tomcat.dbcp.dbcp.BasicDataSource.getConnection(BasicDataSource.java:1044)
at org.springframework.jdbc.datasource.DataSourceUtils.doGetConnection(DataSourceUtils.java:113)
at org.springframework.orm.ibatis.SqlMapClientTemplate.execute(SqlMapClientTemplate.java:190)
at org.springframework.orm.ibatis.SqlMapClientTemplate.queryForObject(SqlMapClientTemplate.java:271)
at ===========业务栈信息屏蔽=========================
at java.util.concurrent.ThreadPoolExecutor$Worker.runTask(ThreadPoolExecutor.java:886)
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:908)
at java.lang.Thread.run(Thread.java:662)

Number of locked synchronizers = 1
- java.util.concurrent.locks.ReentrantLock$NonfairSync@1b3dd747s
源码位置:





后台查明,由于一个特殊需求需要用到原生的connection,开发人员一直没有关闭连接,这个需求的功能偶尔使用一次,所以比较久才暴露。

如果用netstat看数据库连接数是不能发现的,tcp连接已关闭,但是pool不知道。以为一直还在使用。

  • 大小: 33.6 KB
分享到:
评论

相关推荐

Global site tag (gtag.js) - Google Analytics