错误日志:

2020-07-13 15:37:58,545 [Druid-ConnectionPool-Destroy-2092318840] ERROR com.alibaba.druid.pool.DruidDataSource - abandon connection, open stackTrace
    at java.lang.Thread.getStackTrace(Thread.java:1479)
    at com.alibaba.druid.pool.DruidDataSource.getConnectionDirect(DruidDataSource.java:995)
    at com.alibaba.druid.filter.FilterChainImpl.dataSource_connect(FilterChainImpl.java:4544)
    at com.alibaba.druid.filter.stat.StatFilter.dataSource_getConnection(StatFilter.java:661)
    at com.alibaba.druid.filter.FilterChainImpl.dataSource_connect(FilterChainImpl.java:4540)
    at com.alibaba.druid.pool.DruidDataSource.getConnection(DruidDataSource.java:919)
    at com.alibaba.druid.pool.DruidDataSource.getConnection(DruidDataSource.java:911)
    at com.alibaba.druid.pool.DruidDataSource.getConnection(DruidDataSource.java:98)
    at org.hibernate.ejb.connection.InjectedDataSourceConnectionProvider.getConnection(InjectedDataSourceConnectionProvider.java:71)
    at org.hibernate.jdbc.ConnectionManager.openConnection(ConnectionManager.java:446)
    at org.hibernate.jdbc.ConnectionManager.getConnection(ConnectionManager.java:167)
    at org.hibernate.jdbc.JDBCContext.connection(JDBCContext.java:160)
    at org.hibernate.transaction.JDBCTransaction.begin(JDBCTransaction.java:81)
    at org.hibernate.impl.SessionImpl.beginTransaction(SessionImpl.java:1473)
    at org.hibernate.ejb.TransactionImpl.begin(TransactionImpl.java:60)

......

原因:

<!-- 运行程序,当连接超过3分钟后会强制进行回收,并输出异常日志。
		此配置项会影响性能,只在排查的时候打开。系统运行时最好关闭。  -->
		<!-- start -->
		<!-- 超过时间限制是否回收 -->
		<!-- <property name="removeAbandoned" value="true" /> -->
		<!-- 超时时间;单位为秒。180秒=3分钟 -->
		<!-- <property name="removeAbandonedTimeout" value="180" /> -->
		<!-- 关闭abanded连接时输出错误日志 -->
		<!-- <property name="logAbandoned" value="true" /> -->
		<!-- end -->

解决方法:

就是配置相应为3分钟,DEBUG时候把连接超时时间修改一下,就好了。

 

更多推荐