java ibatis 操作数据库延迟_spring+ibatis 连接池泄漏怎么排查 数据库连接泄漏为0.连接池inative_connection_timeout设置0...

spring+ibatis连接池泄漏怎么排查数据库方面连接会话是还有很多未使用,看了控制台监控服务的,数据库连接泄漏为0.连接池inative_connection_timeout设置0,数据库方面连接会话是还有很...

spring+ibatis 连接池泄漏怎么排查

数据库方面连接会话是还有很多未使用,看了控制台监控服务的,数据库连接泄漏为0.连接池inative_connection_timeout设置0,数据库方面连接会话是还有很多未使用,在同个应用服务中,其它功能可以正常使用,就某个定时任务使用(25秒执行一次),在action中通过spring的ApplicationContext来getBean获取连接(怀疑这里导致内存泄漏),请问有什么方法可以排查程序中的数据库连接泄漏

报错信息:

org.springframework.transaction.CannotCreateTransactionException: Could not open JDBC Connection for transaction; nested exception is org.apache.commons.dbcp.SQLNestedException: Cannot get a connection, pool exhausted

Caused by: org.apache.commons.dbcp.SQLNestedException: Cannot get a connection, pool exhausted

at org.apache.commons.dbcp.PoolingDataSource.getConnection(PoolingDataSource.java:103)

at org.apache.commons.dbcp.BasicDataSource.getConnection(BasicDataSource.java:540)

at com.eshore.tpcm.pub.datasource.MultiDataSource.getConnection(MultiDataSource.java:153)

at com.poson.daopub.database.datasource.MultiDataSource.getConnection(MultiDataSource.java:31)

at org.springframework.jdbc.datasource.DataSourceTransactionManager.doBegin(DataSourceTransactionManager.java:182)

at org.springframework.transaction.support.AbstractPlatformTransactionManager.getTransaction(AbstractPlatformTransactionManager.java:315)

at org.springframework.transaction.interceptor.TransactionAspectSupport.createTransactionIfNecessary(TransactionAspectSupport.java:257)

at org.springframework.transaction.interceptor.TransactionInterceptor.invoke(TransactionInterceptor.java:102)

at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:185)

at org.springframework.aop.framework.Cglib2AopProxy$DynamicAdvisedInterceptor.intercept(Cglib2AopProxy.java:652)

at com.eshore.tpcm.intf.cuv.service.impl.BpmCuvMsgProcThreeServiceImpl$$EnhancerByCGLIB$$2ade596f.getPendingData()

at com.eshore.tpcm.intf.cuv.task.BpmCuvMsgProcThreeTask.run(BpmCuvMsgProcThreeTask.java:62)

Caused by: java.util.NoSuchElementException: Timeout waiting for idle object

at org.apache.commons.pool.impl.GenericObjectPool.borrowObject(GenericObjectPool.java:825)

at org.apache.commons.dbcp.PoolingDataSource.getConnection(PoolingDataSource.java:95)

... 15 more

展开

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值