diff --git a/jOOQ/src/main/java/org/jooq/impl/Utils.java b/jOOQ/src/main/java/org/jooq/impl/Utils.java index c6c6851d73..d5a123ec62 100644 --- a/jOOQ/src/main/java/org/jooq/impl/Utils.java +++ b/jOOQ/src/main/java/org/jooq/impl/Utils.java @@ -2414,7 +2414,7 @@ final class Utils { return blob.getBytes(1, (int) blob.length()); } finally { - blob.free(); + JDBCUtils.safeFree(blob); } } else if (object instanceof Clob) { @@ -2424,7 +2424,7 @@ final class Utils { return clob.getSubString(1, (int) clob.length()); } finally { - clob.free(); + JDBCUtils.safeFree(clob); } } diff --git a/jOOQ/src/main/java/org/jooq/tools/jdbc/JDBCUtils.java b/jOOQ/src/main/java/org/jooq/tools/jdbc/JDBCUtils.java index 2882464fe4..49ad8d03c5 100644 --- a/jOOQ/src/main/java/org/jooq/tools/jdbc/JDBCUtils.java +++ b/jOOQ/src/main/java/org/jooq/tools/jdbc/JDBCUtils.java @@ -249,6 +249,9 @@ public class JDBCUtils { blob.free(); } catch (Exception ignore) {} + + // [#3069] The free() method was added only in JDBC 4.0 / Java 1.6 + catch (AbstractMethodError ignore) {} } } @@ -264,6 +267,9 @@ public class JDBCUtils { clob.free(); } catch (Exception ignore) {} + + // [#3069] The free() method was added only in JDBC 4.0 / Java 1.6 + catch (AbstractMethodError ignore) {} } }