Overview | Package | Class | Use | Tree | Deprecated | Index | Help
|  | BEA Systems, Inc.
PREV CLASS NEXT CLASS | FRAMES NO FRAMES
SUMMARY: INNER | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD

WebLogic Server 8.1 API Reference

## weblogic.transaction
Interface ClientTransactionManager

All Known Subinterfaces:
  ServerTransactionManager, TransactionManager

public interface ClientTransactionManager
extends javax.transaction.TransactionManager

Allows a transaction to be suspended and resumed. This is separate from `weblogic.trasnaction.TransactionManager` so that it can be used in the thin-client.

Author:
  Copyright © 2004 BEA Systems, Inc. All Rights Reserved.

Method Summary
`void` | `forceResume(javax.transaction.Transaction suspendedTx)` If the transaction is active, `resume` automatically enlists statically registered resources and associates the transaction with the thread.
`javax.transaction.Transaction` | `forceSuspend()` `suspend` dissociates the transaction from the thread delists enlisted resources and marks the transaction for rollback in the event of any failures (for example, while delisting statically registered resources).

Methods inherited from interface javax.transaction.TransactionManager
`begin, commit, getStatus, getTransaction, resume, rollback, setRollbackOnly, setTransactionTimeout, suspend`

Method Detail

### forceResume

    public void forceResume(javax.transaction.Transaction suspendedTx)

  If the transaction is active, `resume` automatically enlists statically registered resources and associates the transaction with the thread. It also checks to see if there's another transaction associated with the thread.

  `forceResume` simply associates a transaction with a thread without further ado. It is used when you want to suspend a transaction in a thread and subsequently resume it without checking the state. This call is typically used by XA resource providers. Caution must be exercised when using this method because it bypasses all the sanity checks otherwise performed by resume.

  The following example illustrates its use. Say, you want to make an RMI or JDBC call (or simply a call to a local object) without propagating the transaction, while ensuring that code after the RMI call sees the transaction in its original state. The following code illustrates the use of `forceResume`:

       import weblogic.transaction.TransactionManager;
       import weblogic.transaction.Transaction;

       TransactionManager tm = TxHelper.getTransaction();
       Transaction saveTx = null;
       try {
         saveTx = tm.forceSuspend();
          .. make non-transactional call ...
       } finally {
         tm.forceResume(saveTx);
       }

  Weblogic rmi supports a marker interface called "NonTransactionRemote" and an rmi compiler option "-nontransactional". For those remote interfaces extending this interface (or by using the rmic command-line option) the complier inserts this boiler-plate code in the RMI stub.

  See Also:

### forceSuspend

    public javax.transaction.Transaction forceSuspend()

  `suspend` dissociates the transaction from the thread delists enlisted resources and marks the transaction for rollback in the event of any failures (for example, while delisting statically registered resources). `forceSuspend` merely dissociates the transaction from the thread; it doesn't delist resources, nor does it throw any exceptions.

Overview | Package | Class | Use | Tree | Deprecated | Index | Help
| Documentation is available at http://e-docs.bea.com/wls/docs81
PREV CLASS NEXT CLASS | FRAMES NO FRAMES
SUMMARY: INNER | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD