public class CoordinatorImp extends java.lang.Object implements CompositeCoordinator, Participant, RecoveryCoordinator, RecoverableCoordinator, AlarmTimerListener, Stateful, FSMPreEnterListener, FSMTransitionListener
READ_ONLY| Modifier | Constructor and Description |
|---|---|
|
CoordinatorImp()
No argument constructor as required by Recoverable interface.
|
protected |
CoordinatorImp(java.lang.String root)
Constructor for testing only.
|
protected |
CoordinatorImp(java.lang.String recoveryDomainName,
java.lang.String coordinatorId,
java.lang.String root,
RecoveryCoordinator coord,
long timeout,
boolean single_threaded_2pc)
Constructor.
|
| Modifier and Type | Method and Description |
|---|---|
void |
addFSMPreEnterListener(FSMPreEnterListener l,
TxState state) |
void |
alarm(AlarmTimer timer) |
void |
commit(boolean onePhase) |
protected void |
dispose() |
void |
forget() |
java.lang.String |
getCoordinatorId() |
Participant |
getParticipant() |
java.util.Vector<Participant> |
getParticipants() |
PendingTransactionRecord |
getPendingTransactionRecord(TxState state) |
RecoveryCoordinator |
getRecoveryCoordinator() |
java.lang.String |
getRecoveryDomainName() |
java.lang.String |
getResourceName() |
java.lang.String |
getRootId() |
TxState |
getState() |
TxState |
getStateWithTwoPhaseCommitDecision() |
protected long |
getTimeOut() |
java.lang.String |
getURI() |
boolean |
hasActiveSiblings() |
protected void |
incLocalSiblingsStarted()
Called when a tx import is being done.
|
protected void |
incLocalSiblingsTerminated() |
boolean |
isCommitted()
Tests if the transaction was committed or not.
|
boolean |
isRoot() |
void |
preEnter(FSMEnterEvent event)
Called BEFORE the FSM enters the new state, so that
the callee is sure that nobody has seen the new state yet.
|
int |
prepare() |
java.lang.Boolean |
replayCompletion(Participant participant) |
void |
rollback() |
void |
setCascadeList(java.util.Map<java.lang.String,java.lang.Integer> allParticipants) |
void |
setGlobalSiblingCount(int count) |
protected void |
terminate(boolean commit)
Terminate the work, on behalf of Terminator.
|
void |
timedout(boolean rollbackOnly) |
void |
transitionPerformed(FSMTransitionEvent e)
A method to be called AFTER the specified transition is done.
|
protected CoordinatorImp(java.lang.String root)
protected CoordinatorImp(java.lang.String recoveryDomainName,
java.lang.String coordinatorId,
java.lang.String root,
RecoveryCoordinator coord,
long timeout,
boolean single_threaded_2pc)
recoveryDomainName - coordinatorId - root - The root tid.coord - The RecoverCoordinator, null if root.console - The console to log to, or null if none.timeout - The timeout in milliseconds for indoubts before a heuristic
decision is made.single_threaded_2pc - If true then commit is done in the same thread as the one that
started the tx.public CoordinatorImp()
public java.util.Vector<Participant> getParticipants()
public boolean isCommitted()
protected long getTimeOut()
public TxState getState()
public void addFSMPreEnterListener(FSMPreEnterListener l, TxState state)
addFSMPreEnterListener in interface FSMPreEnterEventSourcepublic RecoveryCoordinator getRecoveryCoordinator()
getRecoveryCoordinator in interface CompositeCoordinatorCompositeCoordinator.public Participant getParticipant() throws java.lang.UnsupportedOperationException
java.lang.UnsupportedOperationExceptionCompositeCoordinator.public java.lang.String getCoordinatorId()
getCoordinatorId in interface CompositeCoordinatorCompositeCoordinatorprotected void incLocalSiblingsStarted()
protected void incLocalSiblingsTerminated()
throws HeurRollbackException,
HeurMixedException,
SysException,
java.lang.SecurityException,
HeurCommitException,
HeurHazardException,
java.lang.IllegalStateException,
RollbackException
HeurRollbackExceptionHeurMixedExceptionSysExceptionjava.lang.SecurityExceptionHeurCommitExceptionHeurHazardExceptionjava.lang.IllegalStateExceptionRollbackExceptionpublic boolean hasActiveSiblings()
public void preEnter(FSMEnterEvent event) throws java.lang.IllegalStateException
FSMPreEnterListenerpreEnter in interface FSMPreEnterListenerjava.lang.IllegalStateException - on failure.
The callee can use this to prevent the state change from
happening.FSMPreEnterListener.public java.lang.String getURI()
getURI in interface ParticipantgetURI in interface RecoveryCoordinatorParticipantpublic void forget()
forget in interface ParticipantParticipant.public void setCascadeList(java.util.Map<java.lang.String,java.lang.Integer> allParticipants)
throws SysException
setCascadeList in interface ParticipantSysExceptionParticipant.public void setGlobalSiblingCount(int count)
setGlobalSiblingCount in interface ParticipantParticipant.public int prepare()
throws RollbackException,
java.lang.IllegalStateException,
HeurHazardException,
HeurMixedException,
SysException
prepare in interface ParticipantRollbackExceptionjava.lang.IllegalStateExceptionHeurHazardExceptionHeurMixedExceptionSysExceptionParticipant.public void commit(boolean onePhase)
throws HeurRollbackException,
HeurMixedException,
HeurHazardException,
java.lang.IllegalStateException,
RollbackException,
SysException
commit in interface ParticipantHeurRollbackExceptionHeurMixedExceptionHeurHazardExceptionjava.lang.IllegalStateExceptionRollbackExceptionSysExceptionParticipant.public void rollback()
throws HeurCommitException,
HeurMixedException,
SysException,
HeurHazardException,
java.lang.IllegalStateException
rollback in interface ParticipantHeurCommitExceptionHeurMixedExceptionSysExceptionHeurHazardExceptionjava.lang.IllegalStateExceptionParticipant.public java.lang.Boolean replayCompletion(Participant participant) throws java.lang.IllegalStateException
java.lang.IllegalStateExceptionRecoveryCoordinator.public void alarm(AlarmTimer timer)
alarm in interface AlarmTimerListenerprotected void dispose()
protected void terminate(boolean commit)
throws HeurRollbackException,
HeurMixedException,
SysException,
java.lang.SecurityException,
HeurCommitException,
HeurHazardException,
RollbackException,
java.lang.IllegalStateException
commit - True iff commit termination is asked.HeurRollbackExceptionHeurMixedExceptionSysExceptionjava.lang.SecurityExceptionHeurCommitExceptionHeurHazardExceptionRollbackExceptionjava.lang.IllegalStateExceptionpublic TxState getStateWithTwoPhaseCommitDecision()
public void transitionPerformed(FSMTransitionEvent e)
FSMTransitionListenertransitionPerformed in interface FSMTransitionListenere - The transition that was made.public PendingTransactionRecord getPendingTransactionRecord(TxState state)
getPendingTransactionRecord in interface RecoverableCoordinatorpublic java.lang.String getResourceName()
getResourceName in interface Participantpublic java.lang.String getRootId()
getRootId in interface CompositeCoordinatorpublic void timedout(boolean rollbackOnly)
public boolean isRoot()
public java.lang.String getRecoveryDomainName()
getRecoveryDomainName in interface RecoveryCoordinatorCopyright © 2020. All Rights Reserved.