diff --git a/ebean-datasource/src/main/java/io/ebean/datasource/pool/ExtendedPreparedStatement.java b/ebean-datasource/src/main/java/io/ebean/datasource/pool/ExtendedPreparedStatement.java index b5d169c..e61ad90 100644 --- a/ebean-datasource/src/main/java/io/ebean/datasource/pool/ExtendedPreparedStatement.java +++ b/ebean-datasource/src/main/java/io/ebean/datasource/pool/ExtendedPreparedStatement.java @@ -14,6 +14,7 @@ import java.sql.ResultSet; import java.sql.ResultSetMetaData; import java.sql.SQLException; +import java.sql.SQLFeatureNotSupportedException; import java.sql.Time; import java.sql.Timestamp; import java.util.Calendar; @@ -60,7 +61,15 @@ String cacheKey() { * reuse the PreparedStatement. */ void closeDestroy() throws SQLException { - delegate.close(); + if (!delegate.isClosed()) { + // Cancel might throw an exception when it is already closed + try { + delegate.cancel(); + } catch (SQLFeatureNotSupportedException e) { + Log.trace("Canceling statement not supported by JDBC-driver"); + } + delegate.close(); + } } /**