public class DriverManagerConnectionProviderImpl extends Object implements ConnectionProvider, Configurable, Stoppable, ServiceRegistryAwareService
DriverManager directly to open connections and provides
 a very rudimentary connection pool.
 
 IMPL NOTE : not intended for production use!
 
 Thanks to Oleg Varaksin and his article on object pooling using the java.util.concurrent package, from
 which much of the pooling code here is derived.  See http://ovaraksin.blogspot.com/2013/08/simple-and-lightweight-pool.html| Modifier and Type | Field and Description | 
|---|---|
static String | 
INITIAL_SIZE  | 
static String | 
MIN_SIZE  | 
static String | 
VALIDATION_INTERVAL  | 
| Constructor and Description | 
|---|
DriverManagerConnectionProviderImpl()  | 
| Modifier and Type | Method and Description | 
|---|---|
void | 
closeConnection(Connection conn)
Release a connection from Hibernate use. 
 | 
void | 
configure(Map configurationValues)
Configure the service. 
 | 
protected void | 
finalize()  | 
Connection | 
getConnection()
Obtains a connection for Hibernate use according to the underlying strategy of this provider. 
 | 
void | 
injectServices(ServiceRegistryImplementor serviceRegistry)
Callback to inject the registry. 
 | 
boolean | 
isUnwrappableAs(Class unwrapType)
Can this wrapped service be unwrapped as the indicated type? 
 | 
void | 
stop()
Stop phase notification 
 | 
boolean | 
supportsAggressiveRelease()
Does this connection provider support aggressive release of JDBC
 connections and re-acquisition of those connections (if need be) later?
 
 This is used in conjunction with  
AvailableSettings.RELEASE_CONNECTIONS
 to aggressively release JDBC connections. | 
<T> T | 
unwrap(Class<T> unwrapType)
Unproxy the service proxy 
 | 
public static final String MIN_SIZE
public static final String INITIAL_SIZE
public static final String VALIDATION_INTERVAL
public void injectServices(ServiceRegistryImplementor serviceRegistry)
ServiceRegistryAwareServiceinjectServices in interface ServiceRegistryAwareServiceserviceRegistry - The registrypublic void configure(Map configurationValues)
Configurableconfigure in interface ConfigurableconfigurationValues - The configuration properties.public Connection getConnection() throws SQLException
ConnectionProvidergetConnection in interface ConnectionProviderSQLException - Indicates a problem opening a connectionpublic void closeConnection(Connection conn) throws SQLException
ConnectionProvidercloseConnection in interface ConnectionProviderconn - The JDBC connection to releaseSQLException - Indicates a problem closing the connectionpublic boolean supportsAggressiveRelease()
ConnectionProviderAvailableSettings.RELEASE_CONNECTIONS
 to aggressively release JDBC connections.  However, the configured ConnectionProvider
 must support re-acquisition of the same underlying connection for that semantic to work.
 
 Typically, this is only true in managed environments where a container
 tracks connections by transaction or thread.
 Note that JTA semantic depends on the fact that the underlying connection provider does
 support aggressive release.supportsAggressiveRelease in interface ConnectionProvidertrue if aggressive releasing is supported; false otherwise.public boolean isUnwrappableAs(Class unwrapType)
WrappedisUnwrappableAs in interface WrappedunwrapType - The type to check.public <T> T unwrap(Class<T> unwrapType)
Wrappedpublic void stop()
StoppableCopyright © 2001-2015 Red Hat, Inc. All Rights Reserved.