HHH-6258: Cached JdbcServices and Dialect in local variables to lessen load on AbtractServiceRegistryImpl.localServiceBinding(java.lang.Class). This improved throughput.
This commit is contained in:
parent
abe51d5b35
commit
a917bb4b40
|
@ -189,6 +189,8 @@ public final class SessionFactoryImpl
|
||||||
private final transient Map fetchProfiles;
|
private final transient Map fetchProfiles;
|
||||||
private final transient Map<String,String> imports;
|
private final transient Map<String,String> imports;
|
||||||
private final transient SessionFactoryServiceRegistry serviceRegistry;
|
private final transient SessionFactoryServiceRegistry serviceRegistry;
|
||||||
|
private final transient JdbcServices jdbcServices;
|
||||||
|
private final transient Dialect dialect;
|
||||||
private final transient Settings settings;
|
private final transient Settings settings;
|
||||||
private final transient Properties properties;
|
private final transient Properties properties;
|
||||||
private transient SchemaExport schemaExport;
|
private transient SchemaExport schemaExport;
|
||||||
|
@ -252,6 +254,8 @@ public final class SessionFactoryImpl
|
||||||
this,
|
this,
|
||||||
cfg
|
cfg
|
||||||
);
|
);
|
||||||
|
this.jdbcServices = this.serviceRegistry.getService( JdbcServices );
|
||||||
|
this.dialect = this.jdbcServices.getDialect();
|
||||||
this.sqlFunctionRegistry = new SQLFunctionRegistry( getDialect(), cfg.getSqlFunctions() );
|
this.sqlFunctionRegistry = new SQLFunctionRegistry( getDialect(), cfg.getSqlFunctions() );
|
||||||
if ( observer != null ) {
|
if ( observer != null ) {
|
||||||
this.observer.addObserver( observer );
|
this.observer.addObserver( observer );
|
||||||
|
@ -965,14 +969,15 @@ public final class SessionFactoryImpl
|
||||||
}
|
}
|
||||||
|
|
||||||
public JdbcServices getJdbcServices() {
|
public JdbcServices getJdbcServices() {
|
||||||
return serviceRegistry.getService( JdbcServices.class );
|
return jdbcServices;
|
||||||
}
|
}
|
||||||
|
|
||||||
public Dialect getDialect() {
|
public Dialect getDialect() {
|
||||||
if ( serviceRegistry == null ) {
|
if ( serviceRegistry == null ) {
|
||||||
throw new IllegalStateException( "Cannot determine dialect because serviceRegistry is null." );
|
throw new IllegalStateException( "Cannot determine dialect because serviceRegistry is null." );
|
||||||
}
|
}
|
||||||
return getJdbcServices().getDialect();
|
return dialect;
|
||||||
|
//return getJdbcServices().getDialect();
|
||||||
}
|
}
|
||||||
|
|
||||||
public Interceptor getInterceptor()
|
public Interceptor getInterceptor()
|
||||||
|
@ -1159,7 +1164,7 @@ public final class SessionFactoryImpl
|
||||||
}
|
}
|
||||||
|
|
||||||
public ConnectionProvider getConnectionProvider() {
|
public ConnectionProvider getConnectionProvider() {
|
||||||
return serviceRegistry.getService( JdbcServices.class ).getConnectionProvider();
|
return jdbcServices.getConnectionProvider();
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
|
Loading…
Reference in New Issue