diff --git a/hsweb-datasource/hsweb-datasource-api/src/main/java/org/hswebframework/web/datasource/DefaultJdbcExecutor.java b/hsweb-datasource/hsweb-datasource-api/src/main/java/org/hswebframework/web/datasource/DefaultJdbcExecutor.java index 18f4030b2..fabebd53b 100644 --- a/hsweb-datasource/hsweb-datasource-api/src/main/java/org/hswebframework/web/datasource/DefaultJdbcExecutor.java +++ b/hsweb-datasource/hsweb-datasource-api/src/main/java/org/hswebframework/web/datasource/DefaultJdbcExecutor.java @@ -38,7 +38,16 @@ public class DefaultJdbcExecutor extends AbstractJdbcSqlExecutor { if (logger.isDebugEnabled()) { logger.debug("Releasing DataSource ({}) JDBC Connection [{}]", getDatasourceId(), connection); } - DataSourceUtils.releaseConnection(connection, DataSourceHolder.currentDataSource().getNative()); + try { + DataSourceUtils.doReleaseConnection(connection, DataSourceHolder.currentDataSource().getNative()); + } catch (SQLException e) { + logger.error(e.getMessage(), e); + try { + connection.close(); + } catch (Exception e2) { + logger.error(e2.getMessage(), e2); + } + } } @Override