Special
JtaTransactionManager variant for BEA WebLogic (7.0, 8.1 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.
Automatically detects WebLogic Server 7.0 or 8.1+ and adapts accordingly.
Usage on a WebLogic client is also supported, although with restricted
functionality: transaction names cannot be applied there.
By default, the JTA UserTransaction and TransactionManager handles are
fetched directly from WebLogic's TransactionHelper (on 8.1+)
or TxHelper (on 7.0). This can be overridden by specifying
"userTransaction"/"userTransactionName" and "transactionManager"/"transactionManagerName",
passing in existing handles or specifying corresponding JNDI locations to look up.
author: Juergen Hoeller since: 1.1 See Also: org.springframework.transaction.TransactionDefinition.getName See Also: org.springframework.transaction.TransactionDefinition.getIsolationLevel See Also: weblogic.transaction.UserTransaction.begin(String) See Also: weblogic.transaction.Transaction.setProperty See Also: weblogic.transaction.TransactionManager.forceResume See Also: weblogic.transaction.TransactionHelper See Also: weblogic.transaction.TxHelper |