public ClusterInitializingDriver( ClusterInitializer clusterInitializer, JdbcUrlParser jdbcUrlParser,
DriverLocatorImpl driverRegistry, Integer numLazyProxies, HasRegisterDriver hasRegisterDriver ) {
this.clusterInitializer = clusterInitializer;
this.jdbcUrlParser = jdbcUrlParser;
int lazyProxies = Optional.ofNullable( numLazyProxies ).orElse( 5 );
try {
hasRegisterDriver.registerDriver( new DelegatingDriver( this ) );
} catch ( SQLException e ) {
logger.warn( "Unable to register cluster initializing driver", e );
}
for ( int i = 0; i < lazyProxies; i++ ) {
try {
new LazyDelegatingDriver( driverRegistry, hasRegisterDriver );
} catch ( SQLException e ) {
logger.warn( "Failed to register " + LazyDelegatingDriver.class.getName(), e );
}
}
}