## org.hibernate.service.jta.platform.internal
Class WebSphereExtendedJtaPlatform

    java.lang.Object
      org.hibernate.service.jta.platform.internal.AbstractJtaPlatform
          org.hibernate.service.jta.platform.internal.WebSphereExtendedJtaPlatform

All Implemented Interfaces:
  Serializable, TransactionManagerAccess, JtaPlatform, Service, Configurable, ServiceRegistryAwareService

    public class WebSphereExtendedJtaPlatform

extends AbstractJtaPlatform

JTA platform 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

- WAS version
- the WAS container in which Hibernate will be utilized

This class is reported to work on WAS version 6 in any of the standard J2EE/JEE component containers.

See Also:
  Serialized Form

Nested Class Summary
`class` `WebSphereExtendedJtaPlatform.TransactionManagerAdapter`

Field Summary
`static String` `UT_NAME`

Constructor Summary
`WebSphereExtendedJtaPlatform()`

Method Summary
`protected boolean` `canCacheTransactionManager()`
`Object` `getTransactionIdentifier(Transaction transaction)` Determine an identifier for the given transaction appropriate for use in caching/lookup usages.
`protected TransactionManager` `locateTransactionManager()`
`protected UserTransaction` `locateUserTransaction()`

Methods inherited from class org.hibernate.service.jta.platform.internal.AbstractJtaPlatform
`canCacheUserTransaction, canRegisterSynchronization, configure, getCurrentStatus, getSynchronizationStrategy, getTransactionManager, injectServices, jndiService, registerSynchronization, retrieveTransactionManager, retrieveUserTransaction, serviceRegistry`

Methods inherited from class java.lang.Object
`clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait`

Field Detail

### UT_NAME

    public static final String UT_NAME

See Also:
  Constant Field Values

Constructor Detail

### WebSphereExtendedJtaPlatform

    public WebSphereExtendedJtaPlatform()

Method Detail

### canCacheTransactionManager

    protected boolean canCacheTransactionManager()

  Overrides:
    `canCacheTransactionManager` in class `AbstractJtaPlatform`

### locateTransactionManager

    protected TransactionManager locateTransactionManager()

  Specified by:
    `locateTransactionManager` in class `AbstractJtaPlatform`

### locateUserTransaction

    protected UserTransaction locateUserTransaction()

  Specified by:
    `locateUserTransaction` in class `AbstractJtaPlatform`

### getTransactionIdentifier

    public Object getTransactionIdentifier(Transaction transaction)

  Description copied from interface: `JtaPlatform`
  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 `JtaPlatform`
  Overrides:
    `getTransactionIdentifier` in class `AbstractJtaPlatform`
  Parameters:
    `transaction` - The transaction to be identified.
  Returns:
    An appropriate identifier

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