diff --git a/jOOQ/src/main/java/org/jooq/impl/ParsingConnection.java b/jOOQ/src/main/java/org/jooq/impl/ParsingConnection.java index d09e3e3386..f8ef1ba9e4 100644 --- a/jOOQ/src/main/java/org/jooq/impl/ParsingConnection.java +++ b/jOOQ/src/main/java/org/jooq/impl/ParsingConnection.java @@ -54,7 +54,9 @@ import java.util.Map; import org.jooq.Configuration; import org.jooq.DSLContext; import org.jooq.Param; +import org.jooq.SQLDialect; import org.jooq.exception.DataAccessException; +import org.jooq.exception.DetachedException; import org.jooq.impl.DefaultRenderContext.Rendered; import org.jooq.impl.Tools.Cache; import org.jooq.tools.JooqLogger; @@ -72,6 +74,9 @@ final class ParsingConnection extends DefaultConnection { ParsingConnection(Configuration configuration) { super(configuration.connectionProvider().acquire()); + if (getDelegate() == null) + throw new DetachedException("ConnectionProvider did not provide a JDBC Connection"); + this.configuration = configuration; } diff --git a/jOOQ/src/main/java/org/jooq/impl/ParsingConnectionFactory.java b/jOOQ/src/main/java/org/jooq/impl/ParsingConnectionFactory.java index b186b5c96d..51a9e4eced 100644 --- a/jOOQ/src/main/java/org/jooq/impl/ParsingConnectionFactory.java +++ b/jOOQ/src/main/java/org/jooq/impl/ParsingConnectionFactory.java @@ -48,6 +48,7 @@ import java.util.List; import org.jooq.Configuration; import org.jooq.Param; +import org.jooq.exception.DetachedException; import org.jooq.impl.DefaultRenderContext.Rendered; import org.reactivestreams.Publisher; @@ -72,6 +73,9 @@ final class ParsingConnectionFactory implements ConnectionFactory { final Configuration configuration; ParsingConnectionFactory(Configuration configuration) { + if (configuration.connectionFactory() instanceof NoConnectionFactory) + throw new DetachedException("ConnectionProvider did not provide an R2DBC ConnectionFactory"); + this.configuration = configuration.derive(); this.configuration.set(setParamType(configuration.dialect(), configuration.settings())); }