From 0702ecd8f2eef27737569a9ed8b76a1dbcc4b86d Mon Sep 17 00:00:00 2001 From: blafond Date: Tue, 29 Mar 2022 18:17:30 -0500 Subject: [PATCH] [#929] Adapting H2SqlClientPool --- .../pool/impl/ReactiveConnectionPoolInitiator.java | 8 +++++++- .../provider/service/NoJdbcEnvironmentInitiator.java | 6 +++++- 2 files changed, 12 insertions(+), 2 deletions(-) diff --git a/hibernate-reactive-core/src/main/java/org/hibernate/reactive/pool/impl/ReactiveConnectionPoolInitiator.java b/hibernate-reactive-core/src/main/java/org/hibernate/reactive/pool/impl/ReactiveConnectionPoolInitiator.java index fe34458dd..1e141939f 100644 --- a/hibernate-reactive-core/src/main/java/org/hibernate/reactive/pool/impl/ReactiveConnectionPoolInitiator.java +++ b/hibernate-reactive-core/src/main/java/org/hibernate/reactive/pool/impl/ReactiveConnectionPoolInitiator.java @@ -38,7 +38,13 @@ public ReactiveConnectionPoolInitiator() {} @Override public ReactiveConnectionPool initiateService(Map configurationValues, ServiceRegistryImplementor registry) { Object configValue = configurationValues.get( Settings.SQL_CLIENT_POOL ); - if (configValue==null) { + + String dbType = (String) configurationValues.get( "db" ); + if ( dbType.equalsIgnoreCase( "h2" ) ) { + configValue = "org.hibernate.reactive.pool.impl.H2SqlClientPool"; + } + + if ( configValue == null ) { return new DefaultSqlClientPool(); } diff --git a/hibernate-reactive-core/src/main/java/org/hibernate/reactive/provider/service/NoJdbcEnvironmentInitiator.java b/hibernate-reactive-core/src/main/java/org/hibernate/reactive/provider/service/NoJdbcEnvironmentInitiator.java index e1975380f..49e7b31b2 100644 --- a/hibernate-reactive-core/src/main/java/org/hibernate/reactive/provider/service/NoJdbcEnvironmentInitiator.java +++ b/hibernate-reactive-core/src/main/java/org/hibernate/reactive/provider/service/NoJdbcEnvironmentInitiator.java @@ -9,6 +9,7 @@ import org.hibernate.dialect.CockroachDB201Dialect; import org.hibernate.dialect.DB297Dialect; import org.hibernate.dialect.Dialect; +import org.hibernate.dialect.H2Dialect; import org.hibernate.dialect.MariaDB103Dialect; import org.hibernate.dialect.MySQL8Dialect; import org.hibernate.dialect.Oracle12cDialect; @@ -35,7 +36,7 @@ /** * A Hibernate {@link StandardServiceInitiator service initiator} that * provides an implementation of {@link JdbcEnvironment} that infers - * the Hibernate {@link org.hibernate.dialect.Dialect} from the JDBC URL. + * the Hibernate {@link Dialect} from the JDBC URL. */ public class NoJdbcEnvironmentInitiator extends JdbcEnvironmentInitiator { private static final Log LOG = LoggerFactory.make( Log.class, MethodHandles.lookup() ); @@ -147,6 +148,9 @@ else if ( url.startsWith( "sqlserver:" ) ) { else if ( url.startsWith( "oracle:" ) ) { return Oracle12cDialect.class; } + else if ( url.startsWith( "h2:" ) ) { + return H2Dialect.class; + } else { return null; }