Package org.jgroups.blocks
Class TwoPhaseVotingAdapter
java.lang.Object
org.jgroups.blocks.TwoPhaseVotingAdapter
This adapter introduces simple two-phase voting on a specified decree. All
nodes in the group receive a decree in "prepare" phase where they expres
their opinion on the decree. If all nodes voted positively on decree, next
phase "commit" fixes changes that were made in "prepare" phase, otherwise
changes are canceled in "abort" phase.
- Version:
- $Id: TwoPhaseVotingAdapter.java,v 1.4 2005/06/08 15:56:54 publicnmi Exp $
- Author:
- Roman Rokytskyy (rrokytskyy@acm.org), Robert Schaffar-Taurok (robert@fusion.at)
-
Nested Class Summary
Nested ClassesModifier and TypeClassDescriptionstatic class
static class
Wrapper of the decree to voting decree. -
Constructor Summary
ConstructorsConstructorDescriptionTwoPhaseVotingAdapter
(VotingAdapter voteChannel) Creats an instance of the class. -
Method Summary
Modifier and TypeMethodDescriptionvoid
addListener
(TwoPhaseVotingListener listener) Wraps actual listener with the VoteChannelListener and adds to the voteChannelvoid
removeListener
(TwoPhaseVotingListener listener) Removes the listener from the voteChannelboolean
Performs the two-phase voting on the decree.boolean
vote
(Object decree, long timeout, VoteResponseProcessor voteResponseProcessor) Performs the two-phase voting on the decree.
-
Constructor Details
-
TwoPhaseVotingAdapter
Creats an instance of the class.- Parameters:
voteChannel
- the channel that will be used for voting.
-
-
Method Details
-
addListener
Wraps actual listener with the VoteChannelListener and adds to the voteChannel -
removeListener
Removes the listener from the voteChannel -
vote
Performs the two-phase voting on the decree. After the voting each group member remains in the same state as others.- Throws:
ChannelException
-
vote
public boolean vote(Object decree, long timeout, VoteResponseProcessor voteResponseProcessor) throws ChannelException Performs the two-phase voting on the decree. After the voting each group member remains in the same state as others.- Throws:
ChannelException
-
getVoteChannel
- Returns:
- Returns the voteChannel.
-