|
||||||||||
| PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
| SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD | |||||||||
public interface Participant
A participant for (distributed) two-phase commit of composite transactions.
Implementations can be added as a 2PC participant in the icatch kernel.
VERY IMPORTANT: implementations should also override the
default equals
and hashCode methods, in order for two-phase commit to work properly!
| Field Summary | |
|---|---|
static int |
READ_ONLY
Indicates that no commit/rollback is needed after prepare. |
| Method Summary | |
|---|---|
void |
commit(boolean onePhase)
Commits the participant's work. |
void |
forget()
Indicates that a heuristic participant can forget about its work. |
String |
getResourceName()
|
String |
getURI()
|
boolean |
isRecoverable()
Is this instance recoverable or not? |
int |
prepare()
Prepares the participant. |
void |
rollback()
Rollback of the participant's work. |
void |
setCascadeList(Map<String,Integer> allParticipants)
For cascading 2PC, this method sets the information needed to cascade. |
void |
setGlobalSiblingCount(int count)
Set by the root coordinator: the total no of siblings detected. |
| Field Detail |
|---|
static final int READ_ONLY
| Method Detail |
|---|
String getURI()
void setCascadeList(Map<String,Integer> allParticipants)
throws SysException
allParticipants - The information needed by
the transaction monitor.
SysExceptionvoid setGlobalSiblingCount(int count)
count - The global count.
int prepare()
throws RollbackException,
HeurHazardException,
HeurMixedException,
SysException
RollbackException - For a NO vote.
This indicates that the participant has already rolled back
(or marked for rollback) the work on behalf of this participant.
HeurHazardException - On possible conflicts.
This happens for remote participants instances, in case of
communication failures.
HeurMixedException - If some subordinate
participants voted YES, timed out and committed heuristically
whereas afterwards some NO votes where received.
SysException
void commit(boolean onePhase)
throws HeurRollbackException,
HeurHazardException,
HeurMixedException,
RollbackException,
SysException
onePhase - If true, one-phase commit is being started.
If the participant has received a prepare call earlier,
then it should throw a SysException here.
HeuristicRollbackException - If the participant has rolled back.
HeuristicMixedException - If part of it was rolled back.
HeurHazardException - On possible conflicts.
RollbackException - In case of one-phase commit,
and the transaction has been rolled back at the time
commit is called.
SysException
HeurRollbackException
HeurMixedException
void rollback()
throws HeurCommitException,
HeurMixedException,
HeurHazardException,
SysException
HeurCommitException - If the participant committed.
HeurHazardException - If the participant's final state
is unsure.
HeurMixedException - If part of the work was rolled back.
SysExceptionvoid forget()
boolean isRecoverable()
String getResourceName()
|
||||||||||
| PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
| SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD | |||||||||