com.atomikos.icatch.trmi
Interface ParticipantServer

All Superinterfaces:
Remote
All Known Implementing Classes:
_ParticipantServer_Stub, _TrmiTransactionManager_Stub, TrmiTransactionManager, TrmiTransactionManager_Stub

public interface ParticipantServer
extends Remote

A participant server maps 2PC calls to the proper Participant instance. NOTE: implementations should also implement the equals and hashCode methods correctly!


Method Summary
 HeuristicMessage[] commit(String root)
          Commit the participant of the given root, after prepare was sent.
 HeuristicMessage[] commitOnePhase(String root, int siblings, Dictionary cascadeList)
          Perform one-phase commit for the given root.
 void forget(String root)
          Forget all about a given root.
 int prepare(String root, int siblings, Dictionary cascadelist)
          Prepare the participant of the given root.
 HeuristicMessage[] rollback(String root)
          Rollback the participant for the given root.
 

Method Detail

prepare

int prepare(String root,
            int siblings,
            Dictionary cascadelist)
            throws RollbackException,
                   HeurHazardException,
                   HeurMixedException,
                   SysException,
                   RemoteException
Prepare the participant of the given root.

Parameters:
root - The root String of the participant.
cascadelist - The list of participants to cascade to, if any.
siblings - The count of siblings for the given participant.
Throws:
RollbackException
HeurHazardException
HeurMixedException
SysException
RemoteException
See Also:
For more information on the exceptions and return value.

commit

HeuristicMessage[] commit(String root)
                          throws HeurRollbackException,
                                 HeurHazardException,
                                 HeurMixedException,
                                 RollbackException,
                                 SysException,
                                 RemoteException
Commit the participant of the given root, after prepare was sent.

Parameters:
root - The String of the given root.
Throws:
HeurRollbackException
HeurHazardException
HeurMixedException
RollbackException
SysException
RemoteException
See Also:
For more info on the exceptions and return value.

commitOnePhase

HeuristicMessage[] commitOnePhase(String root,
                                  int siblings,
                                  Dictionary cascadeList)
                                  throws HeurRollbackException,
                                         HeurHazardException,
                                         HeurMixedException,
                                         RollbackException,
                                         SysException,
                                         RemoteException
Perform one-phase commit for the given root.

Parameters:
root - The root id.
siblings - The count of siblings for the given participant.
cascadeList - The info needed for orphan detection.
Throws:
HeurRollbackException
HeurHazardException
HeurMixedException
RollbackException
SysException
RemoteException

rollback

HeuristicMessage[] rollback(String root)
                            throws HeurCommitException,
                                   HeurMixedException,
                                   HeurHazardException,
                                   SysException,
                                   RemoteException
Rollback the participant for the given root.

Parameters:
root - The given root.
Throws:
HeurCommitException
HeurMixedException
HeurHazardException
SysException
RemoteException
See Also:
for more exception info.

forget

void forget(String root)
            throws SysException,
                   RemoteException
Forget all about a given root.

Parameters:
root - The root to forget about.
Throws:
SysException
RemoteException


Copyright © 2012. All Rights Reserved.