org.hibernate.transaction
Class WebSphereExtendedJTATransactionLookup

java.lang.Object
  extended by 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.

Author:
Gavin King,
Nested Class Summary
static class WebSphereExtendedJTATransactionLookup.TransactionManagerAdapter
           
 
Constructor Summary
WebSphereExtendedJTATransactionLookup()
           
 
Method Summary
 Object getTransactionIdentifier(Transaction transaction)
          Determine an identifier for the given transaction appropriate for use in caching/lookup usages.
 TransactionManager getTransactionManager(Properties props)
          Obtain the JTA TransactionManager.
 String getUserTransactionName()
          Return the JNDI namespace of the JTA UserTransaction for this platform or null; optional operation.
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Constructor Detail

WebSphereExtendedJTATransactionLookup

public WebSphereExtendedJTATransactionLookup()
Method Detail

getTransactionManager

public TransactionManager getTransactionManager(Properties props)
Obtain the JTA TransactionManager.

Specified by:
getTransactionManager in interface TransactionManagerLookup
Parameters:
props - The configuration properties.
Returns:
The JTA TransactionManager.

getUserTransactionName

public String getUserTransactionName()
Return the JNDI namespace of the JTA UserTransaction for this platform or null; optional operation.

Specified by:
getUserTransactionName in interface TransactionManagerLookup
Returns:
The JNDI namespace where we can locate the UserTransaction for this platform.

getTransactionIdentifier

public Object getTransactionIdentifier(Transaction transaction)
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:
getTransactionIdentifier in interface TransactionManagerLookup
Parameters:
transaction - The transaction to be identified.
Returns:
An appropropriate identifier


Copyright © 2001-2010 Red Hat, Inc. All Rights Reserved.