From 9248adff4ffa28521fcaa8b517a7d9e024da7f91 Mon Sep 17 00:00:00 2001 From: Lukas Eder Date: Thu, 30 Oct 2014 12:52:43 +0100 Subject: [PATCH] [#3718] Use reflection to support also JDBC 4.0 --- jOOQ/src/main/java/org/jooq/impl/DefaultDSLContext.java | 8 ++++++-- 1 file changed, 6 insertions(+), 2 deletions(-) diff --git a/jOOQ/src/main/java/org/jooq/impl/DefaultDSLContext.java b/jOOQ/src/main/java/org/jooq/impl/DefaultDSLContext.java index 14f6a5f335..ff565c9c25 100644 --- a/jOOQ/src/main/java/org/jooq/impl/DefaultDSLContext.java +++ b/jOOQ/src/main/java/org/jooq/impl/DefaultDSLContext.java @@ -207,6 +207,8 @@ import org.jooq.exception.SQLDialectNotSupportedException; import org.jooq.impl.BatchCRUD.Action; import org.jooq.tools.JooqLogger; import org.jooq.tools.csv.CSVReader; +import org.jooq.tools.reflect.Reflect; +import org.jooq.tools.reflect.ReflectException; /** * A default implementation for {@link DSLContext}. @@ -338,11 +340,13 @@ public class DefaultDSLContext implements DSLContext, Serializable { try { provider.rollback(ctx.cause(cause)); } + + // [#3718] Use reflection to support also JDBC 4.0 catch (Exception suppress) { try { - cause.addSuppressed(suppress); + Reflect.on(cause).call("addSuppressed", suppress); } - catch (NoSuchMethodError logJDBC_4_0) { + catch (ReflectException ignore) { log.error("Error when rolling back", suppress); } }