java.lang.Object | |||
↳ | org.springframework.transaction.support.AbstractPlatformTransactionManager | ||
↳ | org.springframework.transaction.jta.JtaTransactionManager | ||
↳ | org.springframework.transaction.jta.WebLogicJtaTransactionManager |
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.
getName()
getIsolationLevel()
[Expand]
Inherited Constants | |||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|
From class
org.springframework.transaction.jta.JtaTransactionManager
| |||||||||||
From class
org.springframework.transaction.support.AbstractPlatformTransactionManager
|
[Expand]
Inherited Fields | |||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|
From class
org.springframework.transaction.jta.JtaTransactionManager
| |||||||||||
From class
org.springframework.transaction.support.AbstractPlatformTransactionManager
|
Public Constructors | |||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|
Public Methods | |||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|
Initialize the UserTransaction as well as the TransactionManager handle.
| |||||||||||
Create an active Transaction object based on the given name and timeout.
|
Protected Methods | |||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|
Perform a JTA begin on the JTA UserTransaction or TransactionManager.
| |||||||||||
Perform a JTA resume on the JTA TransactionManager.
| |||||||||||
Allows subclasses to retrieve the JTA TransactionManager in a vendor-specific manner.
| |||||||||||
Allows subclasses to retrieve the JTA UserTransaction in a vendor-specific manner.
|
[Expand]
Inherited Methods | |||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|
From class
org.springframework.transaction.jta.JtaTransactionManager
| |||||||||||
From class
org.springframework.transaction.support.AbstractPlatformTransactionManager
| |||||||||||
From class
java.lang.Object
| |||||||||||
From interface
org.springframework.beans.factory.InitializingBean
| |||||||||||
From interface
org.springframework.transaction.PlatformTransactionManager
| |||||||||||
From interface
org.springframework.transaction.jta.TransactionFactory
|
Initialize the UserTransaction as well as the TransactionManager handle.
TransactionSystemException |
---|
Create an active Transaction object based on the given name and timeout.
name | the transaction name (may be null ) |
---|---|
timeout | the transaction timeout (may be -1 for the default timeout) |
null
)NotSupportedException | |
---|---|
SystemException |
Perform a JTA begin on the JTA UserTransaction or TransactionManager.
This implementation only supports standard JTA functionality: that is, no per-transaction isolation levels and no transaction names. Can be overridden in subclasses, for specific JTA implementations.
Calls applyIsolationLevel
and applyTimeout
before invoking the UserTransaction's begin
method.
txObject | the JtaTransactionObject containing the UserTransaction |
---|---|
definition | TransactionDefinition instance, describing propagation behavior, isolation level, read-only flag, timeout, and transaction name |
NotSupportedException | |
---|---|
SystemException |
Perform a JTA resume on the JTA TransactionManager.
Can be overridden in subclasses, for specific JTA implementations.
txObject | the JtaTransactionObject containing the UserTransaction |
---|---|
suspendedTransaction | the suspended JTA Transaction object |
InvalidTransactionException | |
---|---|
SystemException |
Allows subclasses to retrieve the JTA TransactionManager in a vendor-specific manner. Only called if no "transactionManager" or "transactionManagerName" specified.
The default implementation simply returns null
.
null
if none foundTransactionSystemException |
---|
Allows subclasses to retrieve the JTA UserTransaction in a vendor-specific manner. Only called if no "userTransaction" or "userTransactionName" specified.
The default implementation simply returns null
.
null
if none foundTransactionSystemException |
---|