Skip to content

Commit dc8a56b

Browse files
jrenaatsebersole
authored andcommitted
HHH-18454 - Skip connection provider retrieval and DB info logging when booting offline
Signed-off-by: Jan Schatteman <[email protected]>
1 parent e80d1ac commit dc8a56b

File tree

1 file changed

+24
-9
lines changed

1 file changed

+24
-9
lines changed

hibernate-core/src/main/java/org/hibernate/engine/jdbc/env/internal/JdbcEnvironmentInitiator.java

Lines changed: 24 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -19,6 +19,8 @@
1919
import org.hibernate.dialect.Dialect;
2020
import org.hibernate.engine.config.spi.ConfigurationService;
2121
import org.hibernate.engine.jdbc.batch.spi.BatchBuilder;
22+
import org.hibernate.engine.jdbc.connections.internal.ConnectionProviderInitiator;
23+
import org.hibernate.engine.jdbc.connections.internal.DatabaseConnectionInfoImpl;
2224
import org.hibernate.engine.jdbc.connections.spi.ConnectionProvider;
2325
import org.hibernate.engine.jdbc.connections.spi.DatabaseConnectionInfo;
2426
import org.hibernate.engine.jdbc.connections.spi.JdbcConnectionAccess;
@@ -123,6 +125,7 @@ public JdbcEnvironment initiateService(Map<String, Object> configurationValues,
123125
}
124126

125127
final JdbcEnvironment jdbcEnvironment;
128+
DatabaseConnectionInfo databaseConnectionInfo;
126129
if ( allowJdbcMetadataAccess( configurationValues ) ) {
127130
jdbcEnvironment = getJdbcEnvironmentUsingJdbcMetadata(
128131
configurationValues,
@@ -132,6 +135,7 @@ public JdbcEnvironment initiateService(Map<String, Object> configurationValues,
132135
explicitDatabaseMajorVersion,
133136
explicitDatabaseMinorVersion,
134137
explicitDatabaseVersion);
138+
databaseConnectionInfo = buildDbInfo( registry );
135139
}
136140
else if ( explicitDialectConfiguration( explicitDatabaseName, configurationValues ) ) {
137141
jdbcEnvironment = getJdbcEnvironmentWithExplicitConfiguration(
@@ -143,31 +147,42 @@ else if ( explicitDialectConfiguration( explicitDatabaseName, configurationValue
143147
explicitDatabaseMinorVersion,
144148
explicitDatabaseVersion
145149
);
150+
databaseConnectionInfo = buildDbInfo( configurationValues );
146151
}
147152
else {
148153
jdbcEnvironment = getJdbcEnvironmentWithDefaults( configurationValues, registry, dialectFactory );
154+
databaseConnectionInfo = buildDbInfo( configurationValues );
149155
}
150156

151-
logDbInfo( registry, jdbcEnvironment );
157+
// most likely, the version hasn't been set yet, at least not for the ConnectionProviders that we currently maintain
158+
databaseConnectionInfo.setDBVersion( jdbcEnvironment.getDialect().getVersion() );
159+
160+
// Standardized DB info logging
161+
ConnectionInfoLogger.INSTANCE.logConnectionInfoDetails( databaseConnectionInfo.getDBInfoAsString() );
152162

153163
return jdbcEnvironment;
154164
}
155165

156-
private static void logDbInfo(ServiceRegistryImplementor registry, JdbcEnvironment jdbcEnvironment) {
157-
// Standardized DB info logging
158-
DatabaseConnectionInfo databaseConnectionInfo = null;
166+
private DatabaseConnectionInfo buildDbInfo(ServiceRegistryImplementor registry) {
159167
if ( !isMultiTenancyEnabled( registry ) ) {
160168
final ConnectionProvider cp = registry.requireService( ConnectionProvider.class );
161-
databaseConnectionInfo = cp.getDatabaseConnectionInfo();
169+
return cp.getDatabaseConnectionInfo();
162170
}
163171
else {
164172
final MultiTenantConnectionProvider<?> mcp = registry.getService( MultiTenantConnectionProvider.class );
165-
databaseConnectionInfo = mcp.getDatabaseConnectionInfo();
173+
assert mcp != null;
174+
return mcp.getDatabaseConnectionInfo();
166175
}
167-
// most likely, the version hasn't been set yet, at least not for the ConnectionProviders that we currently maintain
168-
databaseConnectionInfo.setDBVersion( jdbcEnvironment.getDialect().getVersion() );
176+
}
169177

170-
ConnectionInfoLogger.INSTANCE.logConnectionInfoDetails( databaseConnectionInfo.getDBInfoAsString() );
178+
private DatabaseConnectionInfo buildDbInfo(Map<String, Object> configurationValues) {
179+
return new DatabaseConnectionInfoImpl()
180+
.setDBUrl( (String) configurationValues.get(JdbcSettings.JAKARTA_JDBC_URL) )
181+
.setDBDriverName( (String) configurationValues.get(JdbcSettings.JAKARTA_JDBC_DRIVER) )
182+
.setDBAutoCommitMode( (String) configurationValues.get(JdbcSettings.AUTOCOMMIT) )
183+
.setDBIsolationLevel( ConnectionProviderInitiator.toIsolationNiceName( ConnectionProviderInitiator.interpretIsolation(configurationValues.get(JdbcSettings.ISOLATION)) ) )
184+
// No setting for min. pool size
185+
.setDBMaxPoolSize( (String) configurationValues.get(JdbcSettings.POOL_SIZE) );
171186
}
172187

173188
private static JdbcEnvironmentImpl getJdbcEnvironmentWithDefaults(

0 commit comments

Comments
 (0)