Class SimpleCoordinator
java.lang.Object
org.apache.catalina.tribes.group.ChannelInterceptorBase
org.apache.catalina.tribes.group.interceptors.SimpleCoordinator
- All Implemented Interfaces:
ChannelInterceptor, Heartbeat, MembershipListener
A dinky coordinator, just uses a sorted version of the member array.
-
Nested Class Summary
Nested classes/interfaces inherited from interface ChannelInterceptor
ChannelInterceptor.InterceptorEvent -
Field Summary
Fields inherited from class ChannelInterceptorBase
optionFlag -
Constructor Summary
Constructors -
Method Summary
Modifier and TypeMethodDescriptionReturns the current coordinator member (first member in the sorted view).Member[]getView()Returns the current sorted view of cluster members.booleanReturns whether this member is the current coordinator.voidmemberAdded(Member member) A member was added to the groupvoidmemberDisappeared(Member member) A member was removed from the group
If the member left voluntarily, the Member.getCommand will contain the Member.SHUTDOWN_PAYLOAD datavoidstart(int svc) Starts up the channel.voidstop(int svc) Shuts down the channel.protected voidviewChange(Member[] view) Override to receive view changes.Methods inherited from class ChannelInterceptorBase
fireInterceptorEvent, getChannel, getLocalMember, getMember, getMembers, getNext, getOptionFlag, getPrevious, hasMembers, heartbeat, messageReceived, okToProcess, sendMessage, setChannel, setNext, setOptionFlag, setPrevious
-
Constructor Details
-
SimpleCoordinator
public SimpleCoordinator()Creates a new SimpleCoordinator instance.
-
-
Method Details
-
memberAdded
Description copied from interface:MembershipListenerA member was added to the group- Specified by:
memberAddedin interfaceMembershipListener- Overrides:
memberAddedin classChannelInterceptorBase- Parameters:
member- Member - the member that was added
-
memberDisappeared
Description copied from interface:MembershipListenerA member was removed from the group
If the member left voluntarily, the Member.getCommand will contain the Member.SHUTDOWN_PAYLOAD data- Specified by:
memberDisappearedin interfaceMembershipListener- Overrides:
memberDisappearedin classChannelInterceptorBase- Parameters:
member- Member- See Also:
-
viewChange
Override to receive view changes. The callback is invoked while holding the monitor of this interceptor, so implementations must not block for long or acquire external or channel locks. The view array must not be modified by the callback.- Parameters:
view- The members array
-
start
Description copied from interface:ChannelInterceptorStarts up the channel. This can be called multiple times for individual services to start The svc parameter can be the logical or value of any constants- Specified by:
startin interfaceChannelInterceptor- Overrides:
startin classChannelInterceptorBase- Parameters:
svc- one of:- Channel.DEFAULT - will start all services
- Channel.MBR_RX_SEQ - starts the membership receiver
- Channel.MBR_TX_SEQ - starts the membership broadcaster
- Channel.SND_TX_SEQ - starts the replication transmitter
- Channel.SND_RX_SEQ - starts the replication receiver
- Throws:
ChannelException- if a startup error occurs or the service is already started.- See Also:
-
stop
Description copied from interface:ChannelInterceptorShuts down the channel. This can be called multiple times for individual services to shut down. The svc parameter can be the logical or value of any constants- Specified by:
stopin interfaceChannelInterceptor- Overrides:
stopin classChannelInterceptorBase- Parameters:
svc- one of:- Channel.DEFAULT - will shut down all services
- Channel.MBR_RX_SEQ - stops the membership receiver
- Channel.MBR_TX_SEQ - stops the membership broadcaster
- Channel.SND_TX_SEQ - stops the replication transmitter
- Channel.SND_RX_SEQ - stops the replication receiver
- Throws:
ChannelException- if a shutdown error occurs or the service is already stopped.- See Also:
-
getView
Returns the current sorted view of cluster members.- Returns:
- the current member view, or
nullif not yet established
-
getCoordinator
Returns the current coordinator member (first member in the sorted view).- Returns:
- the coordinator member, or
nullif no view is established
-
isCoordinator
public boolean isCoordinator()Returns whether this member is the current coordinator.- Returns:
trueif this member is the coordinator
-