关闭连接失败 配置如下: druid.setInitialSize(0); druid.setMinIdle(0); druid.setMaxActive(10); druid.setMaxWait(5000); druid.setValidationQuery(connectionSpec.getValidationQuery()); druid.setTestOnBorrow(true); // 影响效率 druid.setTestOnReturn(false); druid.setTestWhileIdle(true); druid.setKeepAlive(true); druid.setTimeBetweenEvictionRunsMillis(60000); druid.setMinEvictableIdleTimeMillis(300000);
druid.setBreakAfterAcquireFailure(false); // 默认false,如果数据库异常,DRUID会一直获取连接
druid.setConnectionErrorRetryAttempts(1); // 设置获取连接出错时的自动重连次数
druid.setTimeBetweenConnectErrorMillis(30000); // 两次重试的休眠时间
// 设置FailFast为true,获取连接失败后不阻塞
druid.setFailFast(true);
druid.setLogAbandoned(true);
druid.setQueryTimeout(1800);
[2022-11-22 18:23:11.826][ERROR][][1262595][incre_capture_45e7b03e-9660-4ad6-a586-20f59f87550c][recyle error][DruidDataSource.java recycle 2044] java.sql.SQLSyntaxErrorException: (conn=1619345) Connection.clearWarnings cannot be called on a closed connection at org.mariadb.jdbc.internal.util.exceptions.ExceptionFactory.createException(ExceptionFactory.java:62) ~[mariadb-java-client-2.7.5.jar:?] at org.mariadb.jdbc.internal.util.exceptions.ExceptionFactory.create(ExceptionFactory.java:176) ~[mariadb-java-client-2.7.5.jar:?] at org.mariadb.jdbc.MariaDbConnection.clearWarnings(MariaDbConnection.java:1024) ~[mariadb-java-client-2.7.5.jar:?] at com.alibaba.druid.pool.DruidConnectionHolder.reset(DruidConnectionHolder.java:331) ~[druid-1.2.10.jar:1.2.10] at com.alibaba.druid.pool.DruidDataSource.recycle(DruidDataSource.java:1951) ~[druid-1.2.10.jar:1.2.10] at com.alibaba.druid.pool.DruidPooledConnection.recycle(DruidPooledConnection.java:351) ~[druid-1.2.10.jar:1.2.10] at com.alibaba.druid.pool.DruidPooledConnection.close(DruidPooledConnection.java:288) ~[druid-1.2.10.jar:1.2.10]