Package org.hibernate.transaction
Class WebSphereExtendedJTATransactionLookup
java.lang.Object
org.hibernate.transaction.WebSphereExtendedJTATransactionLookup
- All Implemented Interfaces:
TransactionManagerLookup
public class WebSphereExtendedJTATransactionLookup
extends Object
implements TransactionManagerLookup
TransactionManagerLookup implementation intended for use with WebSphere
Application Server (WAS).
WAS, unlike every other app server on the planet, does not allow direct
access to the JTS TransactionManager. Instead, for common transaction-
related tasks users must utilize a proprietary API known as
ExtendedJTATransaction.
Even more unfortunate, the exact TransactionManagerLookup to use inside of
WAS is highly dependent upon (1) WAS version as well as (2) the WAS
container in which Hibernate will be utilized.
WebSphereExtendedJTATransactionLookup is reported to work on WAS version 6
in any of the standard J2EE/JEE component containers.
-
Nested Class Summary
Nested ClassesModifier and TypeClassDescriptionstatic class -
Constructor Summary
Constructors -
Method Summary
Modifier and TypeMethodDescriptiongetTransactionIdentifier(Transaction transaction) Determine an identifier for the given transaction appropriate for use in caching/lookup usages.getTransactionManager(Properties props) Obtain the JTATransactionManager.Return the JNDI namespace of the JTAUserTransactionfor this platform or null; optional operation.
-
Constructor Details
-
WebSphereExtendedJTATransactionLookup
public WebSphereExtendedJTATransactionLookup()
-
-
Method Details
-
getTransactionManager
Obtain the JTATransactionManager.- Specified by:
getTransactionManagerin interfaceTransactionManagerLookup- Parameters:
props- The configuration properties.- Returns:
- The JTA
TransactionManager.
-
getUserTransactionName
Return the JNDI namespace of the JTAUserTransactionfor this platform or null; optional operation.- Specified by:
getUserTransactionNamein interfaceTransactionManagerLookup- Returns:
- The JNDI namespace where we can locate the
UserTransactionfor this platform.
-
getTransactionIdentifier
Determine an identifier for the given transaction appropriate for use in caching/lookup usages. Generally speaking the transaction itself will be returned here. This method was added specifically for use in WebSphere and other unfriendly JEE containers (although WebSphere is still the only known such brain-dead, sales-driven impl).- Specified by:
getTransactionIdentifierin interfaceTransactionManagerLookup- Parameters:
transaction- The transaction to be identified.- Returns:
- An appropropriate identifier
-