From dc8a56be8f82cc774383a9f3f95f55bdc459f510 Mon Sep 17 00:00:00 2001 From: Jan Schatteman Date: Mon, 5 Aug 2024 18:40:43 +0200 Subject: [PATCH] HHH-18454 - Skip connection provider retrieval and DB info logging when booting offline Signed-off-by: Jan Schatteman --- .../internal/JdbcEnvironmentInitiator.java | 33 ++++++++++++++----- 1 file changed, 24 insertions(+), 9 deletions(-) diff --git a/hibernate-core/src/main/java/org/hibernate/engine/jdbc/env/internal/JdbcEnvironmentInitiator.java b/hibernate-core/src/main/java/org/hibernate/engine/jdbc/env/internal/JdbcEnvironmentInitiator.java index 9dd5e1645d..9870091a10 100644 --- a/hibernate-core/src/main/java/org/hibernate/engine/jdbc/env/internal/JdbcEnvironmentInitiator.java +++ b/hibernate-core/src/main/java/org/hibernate/engine/jdbc/env/internal/JdbcEnvironmentInitiator.java @@ -19,6 +19,8 @@ import org.hibernate.dialect.DatabaseVersion; import org.hibernate.dialect.Dialect; import org.hibernate.engine.config.spi.ConfigurationService; import org.hibernate.engine.jdbc.batch.spi.BatchBuilder; +import org.hibernate.engine.jdbc.connections.internal.ConnectionProviderInitiator; +import org.hibernate.engine.jdbc.connections.internal.DatabaseConnectionInfoImpl; import org.hibernate.engine.jdbc.connections.spi.ConnectionProvider; import org.hibernate.engine.jdbc.connections.spi.DatabaseConnectionInfo; import org.hibernate.engine.jdbc.connections.spi.JdbcConnectionAccess; @@ -123,6 +125,7 @@ public class JdbcEnvironmentInitiator implements StandardServiceInitiator mcp = registry.getService( MultiTenantConnectionProvider.class ); - databaseConnectionInfo = mcp.getDatabaseConnectionInfo(); + assert mcp != null; + return mcp.getDatabaseConnectionInfo(); } - // most likely, the version hasn't been set yet, at least not for the ConnectionProviders that we currently maintain - databaseConnectionInfo.setDBVersion( jdbcEnvironment.getDialect().getVersion() ); + } - ConnectionInfoLogger.INSTANCE.logConnectionInfoDetails( databaseConnectionInfo.getDBInfoAsString() ); + private DatabaseConnectionInfo buildDbInfo(Map configurationValues) { + return new DatabaseConnectionInfoImpl() + .setDBUrl( (String) configurationValues.get(JdbcSettings.JAKARTA_JDBC_URL) ) + .setDBDriverName( (String) configurationValues.get(JdbcSettings.JAKARTA_JDBC_DRIVER) ) + .setDBAutoCommitMode( (String) configurationValues.get(JdbcSettings.AUTOCOMMIT) ) + .setDBIsolationLevel( ConnectionProviderInitiator.toIsolationNiceName( ConnectionProviderInitiator.interpretIsolation(configurationValues.get(JdbcSettings.ISOLATION)) ) ) + // No setting for min. pool size + .setDBMaxPoolSize( (String) configurationValues.get(JdbcSettings.POOL_SIZE) ); } private static JdbcEnvironmentImpl getJdbcEnvironmentWithDefaults(