Package org.hibernate.testing.jdbc
Class ConnectionProviderDelegate
- java.lang.Object
-
- org.hibernate.testing.jdbc.ConnectionProviderDelegate
-
- All Implemented Interfaces:
java.io.Serializable,ConnectionProvider,Service,Configurable,ServiceRegistryAwareService,Stoppable,Wrapped
- Direct Known Subclasses:
SQLServerSnapshotIsolationConnectionProvider
public class ConnectionProviderDelegate extends java.lang.Object implements ConnectionProvider, Configurable, ServiceRegistryAwareService, Stoppable
ThisConnectionProviderextends any other ConnectionProvider that would be used by default taken the current configuration properties.- See Also:
- Serialized Form
-
-
Constructor Summary
Constructors Constructor Description ConnectionProviderDelegate()ConnectionProviderDelegate(ConnectionProvider connectionProvider)
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description voidcloseConnection(java.sql.Connection conn)Release a connection from Hibernate use.voidconfigure(java.util.Map configurationValues)Configure the service.java.sql.ConnectiongetConnection()Obtains a connection for Hibernate use according to the underlying strategy of this provider.ConnectionProvidergetConnectionProvider()voidinjectServices(ServiceRegistryImplementor serviceRegistry)Callback to inject the registry.booleanisUnwrappableAs(java.lang.Class unwrapType)Can this wrapped service be unwrapped as the indicated type?voidsetConnectionProvider(ConnectionProvider connectionProvider)voidstop()Stop phase notificationbooleansupportsAggressiveRelease()Does this connection provider support aggressive release of JDBC connections and re-acquisition of those connections (if need be) later?<T> Tunwrap(java.lang.Class<T> unwrapType)Unproxy the service proxy
-
-
-
Constructor Detail
-
ConnectionProviderDelegate
public ConnectionProviderDelegate()
-
ConnectionProviderDelegate
public ConnectionProviderDelegate(ConnectionProvider connectionProvider)
-
-
Method Detail
-
getConnectionProvider
public ConnectionProvider getConnectionProvider()
-
setConnectionProvider
public void setConnectionProvider(ConnectionProvider connectionProvider)
-
injectServices
public void injectServices(ServiceRegistryImplementor serviceRegistry)
Description copied from interface:ServiceRegistryAwareServiceCallback to inject the registry.- Specified by:
injectServicesin interfaceServiceRegistryAwareService- Parameters:
serviceRegistry- The registry
-
configure
public void configure(java.util.Map configurationValues)
Description copied from interface:ConfigurableConfigure the service.- Specified by:
configurein interfaceConfigurable- Parameters:
configurationValues- The configuration properties.
-
getConnection
public java.sql.Connection getConnection() throws java.sql.SQLExceptionDescription copied from interface:ConnectionProviderObtains a connection for Hibernate use according to the underlying strategy of this provider.- Specified by:
getConnectionin interfaceConnectionProvider- Returns:
- The obtained JDBC connection
- Throws:
java.sql.SQLException- Indicates a problem opening a connection
-
closeConnection
public void closeConnection(java.sql.Connection conn) throws java.sql.SQLExceptionDescription copied from interface:ConnectionProviderRelease a connection from Hibernate use.- Specified by:
closeConnectionin interfaceConnectionProvider- Parameters:
conn- The JDBC connection to release- Throws:
java.sql.SQLException- Indicates a problem closing the connection
-
supportsAggressiveRelease
public boolean supportsAggressiveRelease()
Description copied from interface:ConnectionProviderDoes this connection provider support aggressive release of JDBC connections and re-acquisition of those connections (if need be) later? This is used in conjunction withAvailableSettings.RELEASE_CONNECTIONSto 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.- Specified by:
supportsAggressiveReleasein interfaceConnectionProvider- Returns:
trueif aggressive releasing is supported;falseotherwise.
-
isUnwrappableAs
public boolean isUnwrappableAs(java.lang.Class unwrapType)
Description copied from interface:WrappedCan this wrapped service be unwrapped as the indicated type?- Specified by:
isUnwrappableAsin interfaceWrapped- Parameters:
unwrapType- The type to check.- Returns:
- True/false.
-
unwrap
public <T> T unwrap(java.lang.Class<T> unwrapType)
Description copied from interface:WrappedUnproxy the service proxy
-
-