org.hibernate.engine.transaction.jta.platform.internal.WebSphereExtendedJtaPlatform Maven / Gradle / Ivy
Go to download
Show more of this group Show more artifacts with this name
Show all versions of hibernate-core Show documentation
Show all versions of hibernate-core Show documentation
Hibernate's core ORM functionality
/*
* Hibernate, Relational Persistence for Idiomatic Java
*
* License: GNU Lesser General Public License (LGPL), version 2.1 or later.
* See the lgpl.txt file in the root directory or .
*/
package org.hibernate.engine.transaction.jta.platform.internal;
import java.lang.reflect.InvocationHandler;
import java.lang.reflect.Method;
import java.lang.reflect.Proxy;
import javax.transaction.NotSupportedException;
import javax.transaction.RollbackException;
import javax.transaction.Status;
import javax.transaction.Synchronization;
import javax.transaction.SystemException;
import javax.transaction.Transaction;
import javax.transaction.TransactionManager;
import javax.transaction.UserTransaction;
import javax.transaction.xa.XAResource;
import org.hibernate.HibernateException;
/**
* 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/Java EE component containers.
*
* @author Gavin King
* @author