错误日志:
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时候把连接超时时间修改一下,就好了。