Open zhangfan791 opened 1 year ago
碰到了类似的问题。
try (Connection connection = dataSource.getConnection();
Statement statement = connection.createStatement()) {
// ...
}
在 try 关闭 connection 的时候报错。类似这样的代码。肯定不会提前关闭连接。
使用最新的 druid 1.2.16 或者1.2.13 在某些环境必定会报错,但其他环境无法复现。不清楚差异在哪里,出错的场景用之前的 1.2.8 似乎没问题
看起来是某个版本引入的bug。我们这边用的是 oceanbase。
看起来是某个版本引入的bug。我们这边底线是 oceanbase。
请问这个问题 有进展吗 ,我们用的mariadb ,报错信息是
关闭连接失败 配置如下: 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);
[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]