public interface TransactionParticipant extends Remote, TransactionConstants
TransactionManager interface, this interface allows a
 two-phase commit protocol to be used between objects in a distributed
 system.TransactionManager, 
NestableTransactionManager, 
ServerTransactionABORTED, ACTIVE, COMMITTED, NOTCHANGED, PREPARED, VOTING| Modifier and Type | Method and Description | 
|---|---|
void | 
abort(TransactionManager mgr,
     long id)
Requests that the participant roll back any changes for the specified
 transaction and unlock any resources locked by the transaction. 
 | 
void | 
commit(TransactionManager mgr,
      long id)
Requests that the participant make all of its  
PREPARED
 changes for the specified transaction visible outside of the
 transaction and unlock any resources locked by the transaction. | 
int | 
prepare(TransactionManager mgr,
       long id)
Requests that the participant prepare itself to commit the transaction,
 and to vote on the outcome of the transaction. 
 | 
int | 
prepareAndCommit(TransactionManager mgr,
                long id)
A combination of  
prepare and commit, which
 can be used by the manager when there is just one participant left to
 prepare and all other participants (if any) have responded with
 NOTCHANGED. | 
int prepare(TransactionManager mgr, long id) throws UnknownTransactionException, RemoteException
PREPARED, indicating that it is prepared;
 ABORT, indicating that it will abort, or
 NOTCHANGED, indicating that it did not have any state
 changed by the transaction (i.e., it was read-only). If the response
 is PREPARED, the participant must wait until it receives
 a commit or abort call from the transaction manager; it may query the
 transaction manager if needed as to the state of the transaction. If
 the response is ABORT, the participant should roll its
 state back to undo any changes that occurred due to operations
 performed under the transaction; it can then discard any information
 about the transaction. If the response is NOTCHANGED, the
 participant can immediately discard any knowledge of the transaction.mgr - the manager of the transactionid - the transaction IDint representing this participant's stateUnknownTransactionException - if the transaction 
         is unknown to the transaction manager, either 
         because the transaction ID is incorrect or because the 
         transaction is complete and its state has been 
         discarded by the manager.RemoteException - if there is a communication errorvoid commit(TransactionManager mgr, long id) throws UnknownTransactionException, RemoteException
PREPARED
 changes for the specified transaction visible outside of the
 transaction and unlock any resources locked by the transaction.
 All state associated with the transaction can then be discarded
 by the participant.mgr - the manager of the transactionid - the transaction IDUnknownTransactionException - if the transaction 
         is unknown to the transaction manager, either 
         because the transaction ID is incorrect or because the 
         transaction is complete and its state has been 
         discarded by the manager.RemoteException - if there is a communication errorvoid abort(TransactionManager mgr, long id) throws UnknownTransactionException, RemoteException
mgr - the manager of the transactionid - the transaction IDUnknownTransactionException - if the transaction 
         is unknown to the transaction manager, either 
         because the transaction ID is incorrect or because the 
         transaction is complete and its state has been 
         discarded by the manager.RemoteException - if there is a communication errorint prepareAndCommit(TransactionManager mgr, long id) throws UnknownTransactionException, RemoteException
prepare and commit, which
 can be used by the manager when there is just one participant left to
 prepare and all other participants (if any) have responded with
 NOTCHANGED.  The participant's implementation of this
 method must be equivalent to:
 
        public int prepareAndCommit(TransactionManager mgr, long id)
            throws UnknownTransactionException, RemoteException
        {
            int result = prepare(mgr, id);
            if (result == PREPARED) {
                commit(mgr, id);
                result = COMMITTED;
            }
            return result;
        }
 mgr - the manager of the transactionid - the transaction IDint representing its stateUnknownTransactionException - if the transaction 
         is unknown to the transaction manager, either 
         because the transaction ID is incorrect or because the 
         transaction is complete and its state has been 
         discarded by the manager.RemoteException - if there is a communication errorprepare(net.jini.core.transaction.server.TransactionManager, long), 
commit(net.jini.core.transaction.server.TransactionManager, long)