类 WebLogicJtaTransactionManager

  • 所有已实现的接口:
    Serializable, InitializingBean, TransactionFactory, PlatformTransactionManager

    public class WebLogicJtaTransactionManager
    extends JtaTransactionManager
    Special JtaTransactionManager variant for BEA WebLogic (9.0 and higher). Supports the full power of Spring's transaction definitions on WebLogic's transaction coordinator, beyond standard JTA: transaction names, per-transaction isolation levels, and proper resuming of transactions in all cases.

    Uses WebLogic's special begin(name) method to start a JTA transaction, in order to make Spring-driven transactions visible in WebLogic's transaction monitor. In case of Spring's declarative transactions, the exposed name will (by default) be the fully-qualified class name + "." + method name.

    Supports a per-transaction isolation level through WebLogic's corresponding JTA transaction property "ISOLATION LEVEL". This will apply the specified isolation level (e.g. ISOLATION_SERIALIZABLE) to all JDBC Connections that participate in the given transaction.

    Invokes WebLogic's special forceResume method if standard JTA resume failed, to also resume if the target transaction was marked rollback-only. If you're not relying on this feature of transaction suspension in the first place, Spring's standard JtaTransactionManager will behave properly too.

    By default, the JTA UserTransaction and TransactionManager handles are fetched directly from WebLogic's TransactionHelper. This can be overridden by specifying "userTransaction"/"userTransactionName" and "transactionManager"/"transactionManagerName", passing in existing handles or specifying corresponding JNDI locations to look up.

    NOTE: This JtaTransactionManager is intended to refine specific transaction demarcation behavior on Spring's side. It will happily co-exist with independently configured WebLogic transaction strategies in your persistence provider, with no need to specifically connect those setups in any way.

    从以下版本开始:
    1.1
    作者:
    Juergen Hoeller
    另请参阅:
    TransactionDefinition.getName(), TransactionDefinition.getIsolationLevel(), weblogic.transaction.UserTransaction#begin(String), weblogic.transaction.Transaction#setProperty, weblogic.transaction.TransactionManager#forceResume, weblogic.transaction.TransactionHelper, 序列化表格