Package org.hibernate.testing.jta
Class JtaAwareConnectionProviderImpl
- java.lang.Object
-
- org.hibernate.testing.jta.JtaAwareConnectionProviderImpl
-
- All Implemented Interfaces:
java.io.Serializable,ConnectionProvider,Service,Configurable,Stoppable,Wrapped
public class JtaAwareConnectionProviderImpl extends java.lang.Object implements ConnectionProvider, Configurable, Stoppable
AConnectionProviderimplementation intended for testing Hibernate/JTA interaction. In that limited scope we only ever have one single resource (the database connection) so we do not at all care about full-blown XA semantics. This class behaves accordingly. This class also assumes usage of and access to JBossTS/Arjuna.- See Also:
- Serialized Form
-
-
Nested Class Summary
Nested Classes Modifier and Type Class Description static classJtaAwareConnectionProviderImpl.XAResourceWrapper
-
Constructor Summary
Constructors Constructor Description JtaAwareConnectionProviderImpl()
-
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.protected TransactionfindCurrentTransaction()java.sql.ConnectiongetConnection()Obtains a connection for Hibernate use according to the underlying strategy of this provider.booleanisUnwrappableAs(java.lang.Class unwrapType)Can this wrapped service be unwrapped as the indicated type?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
-
-
-
Method Detail
-
configure
public void configure(java.util.Map configurationValues)
Description copied from interface:ConfigurableConfigure the service.- Specified by:
configurein interfaceConfigurable- Parameters:
configurationValues- The configuration properties.
-
stop
public void stop()
Description copied from interface:StoppableStop phase notification
-
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.
-
findCurrentTransaction
protected Transaction findCurrentTransaction()
-
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.
-
-