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
ThisConnectionProvider
extends 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 void
closeConnection(java.sql.Connection conn)
Release a connection from Hibernate use.void
configure(java.util.Map configurationValues)
Configure the service.java.sql.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(java.lang.Class unwrapType)
Can this wrapped service be unwrapped as the indicated type?void
stop()
Stop phase notificationboolean
supportsAggressiveRelease()
Does this connection provider support aggressive release of JDBC connections and re-acquisition of those connections (if need be) later?<T> T
unwrap(java.lang.Class<T> unwrapType)
Unproxy the service proxy
-
-
-
Constructor Detail
-
ConnectionProviderDelegate
public ConnectionProviderDelegate()
-
ConnectionProviderDelegate
public ConnectionProviderDelegate(ConnectionProvider connectionProvider)
-
-
Method Detail
-
injectServices
public void injectServices(ServiceRegistryImplementor serviceRegistry)
Description copied from interface:ServiceRegistryAwareService
Callback to inject the registry.- Specified by:
injectServices
in interfaceServiceRegistryAwareService
- Parameters:
serviceRegistry
- The registry
-
configure
public void configure(java.util.Map configurationValues)
Description copied from interface:Configurable
Configure the service.- Specified by:
configure
in interfaceConfigurable
- Parameters:
configurationValues
- The configuration properties.
-
getConnection
public java.sql.Connection getConnection() throws java.sql.SQLException
Description copied from interface:ConnectionProvider
Obtains a connection for Hibernate use according to the underlying strategy of this provider.- Specified by:
getConnection
in 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.SQLException
Description copied from interface:ConnectionProvider
Release a connection from Hibernate use.- Specified by:
closeConnection
in 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:ConnectionProvider
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 withAvailableSettings.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.- Specified by:
supportsAggressiveRelease
in interfaceConnectionProvider
- Returns:
true
if aggressive releasing is supported;false
otherwise.
-
isUnwrappableAs
public boolean isUnwrappableAs(java.lang.Class unwrapType)
Description copied from interface:Wrapped
Can this wrapped service be unwrapped as the indicated type?- Specified by:
isUnwrappableAs
in interfaceWrapped
- Parameters:
unwrapType
- The type to check.- Returns:
- True/false.
-
unwrap
public <T> T unwrap(java.lang.Class<T> unwrapType)
Description copied from interface:Wrapped
Unproxy the service proxy
-
-