Class StaticMembershipInterceptor
- java.lang.Object
-
- org.apache.catalina.tribes.group.ChannelInterceptorBase
-
- org.apache.catalina.tribes.group.interceptors.StaticMembershipInterceptor
-
- All Implemented Interfaces:
ChannelInterceptor,StaticMembershipInterceptorMBean,Heartbeat,MembershipListener
public class StaticMembershipInterceptor extends ChannelInterceptorBase implements StaticMembershipInterceptorMBean
-
-
Nested Class Summary
-
Nested classes/interfaces inherited from interface org.apache.catalina.tribes.ChannelInterceptor
ChannelInterceptor.InterceptorEvent
-
-
Field Summary
Fields Modifier and Type Field Description protected MemberlocalMemberprotected static byte[]MEMBER_STARTprotected static byte[]MEMBER_STOPprotected java.util.ArrayList<Member>membersprotected static StringManagersm-
Fields inherited from class org.apache.catalina.tribes.group.ChannelInterceptorBase
optionFlag
-
-
Constructor Summary
Constructors Constructor Description StaticMembershipInterceptor()
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description voidaddStaticMember(Member member)protected ChannelInterceptorgetfirstInterceptor()MembergetLocalMember(boolean incAlive)Return the member that represents this node.MembergetMember(Member mbr)Intercepts theChannel.getMember(Member)methodMember[]getMembers()Get all current cluster membersbooleanhasMembers()has membersvoidmessageReceived(ChannelMessage msg)themessageReceivedis invoked when a message is received.voidremoveStaticMember(Member member)protected voidsendLocalMember(Member[] members)protected voidsendMemberMessage(Member[] members, byte[] message)protected voidsendShutdown(Member[] members)voidsetLocalMember(Member member)voidstart(int svc)Starts up the channel.voidstop(int svc)Shuts down the channel.-
Methods inherited from class org.apache.catalina.tribes.group.ChannelInterceptorBase
fireInterceptorEvent, getChannel, getNext, getOptionFlag, getPrevious, heartbeat, memberAdded, memberDisappeared, okToProcess, sendMessage, setChannel, setNext, setOptionFlag, setPrevious
-
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
-
Methods inherited from interface org.apache.catalina.tribes.group.interceptors.StaticMembershipInterceptorMBean
getOptionFlag
-
-
-
-
Field Detail
-
sm
protected static final StringManager sm
-
MEMBER_START
protected static final byte[] MEMBER_START
-
MEMBER_STOP
protected static final byte[] MEMBER_STOP
-
members
protected final java.util.ArrayList<Member> members
-
localMember
protected Member localMember
-
-
Method Detail
-
addStaticMember
public void addStaticMember(Member member)
-
removeStaticMember
public void removeStaticMember(Member member)
-
setLocalMember
public void setLocalMember(Member member)
-
messageReceived
public void messageReceived(ChannelMessage msg)
Description copied from interface:ChannelInterceptorthemessageReceivedis invoked when a message is received.ChannelMessage.getAddress()is the sender, or the reply-to address if it has been overwritten.- Specified by:
messageReceivedin interfaceChannelInterceptor- Overrides:
messageReceivedin classChannelInterceptorBase- Parameters:
msg- ChannelMessage
-
hasMembers
public boolean hasMembers()
has members- Specified by:
hasMembersin interfaceChannelInterceptor- Overrides:
hasMembersin classChannelInterceptorBase- Returns:
- boolean - if the channel has members in its membership group
- See Also:
Channel.hasMembers()
-
getMembers
public Member[] getMembers()
Get all current cluster members- Specified by:
getMembersin interfaceChannelInterceptor- Overrides:
getMembersin classChannelInterceptorBase- Returns:
- all members or empty array
- See Also:
Channel.getMembers()
-
getMember
public Member getMember(Member mbr)
Description copied from interface:ChannelInterceptorIntercepts theChannel.getMember(Member)method- Specified by:
getMemberin interfaceChannelInterceptor- Overrides:
getMemberin classChannelInterceptorBase- Parameters:
mbr- Member- Returns:
- Member
- See Also:
Channel.getMember(Member)
-
getLocalMember
public Member getLocalMember(boolean incAlive)
Return the member that represents this node.- Specified by:
getLocalMemberin interfaceChannelInterceptor- Specified by:
getLocalMemberin interfaceStaticMembershipInterceptorMBean- Overrides:
getLocalMemberin classChannelInterceptorBase- Parameters:
incAlive- boolean- Returns:
- Member
- See Also:
Channel.getLocalMember(boolean)
-
start
public void start(int svc) throws ChannelExceptionStarts 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 constantsSends notifications upwards.
- Specified by:
startin interfaceChannelInterceptor- Overrides:
startin classChannelInterceptorBase- Parameters:
svc- int value of
DEFAULT - will start all services
MBR_RX_SEQ - starts the membership receiver
MBR_TX_SEQ - starts the membership broadcaster
SND_TX_SEQ - starts the replication transmitter
SND_RX_SEQ - starts the replication receiver- Throws:
ChannelException- if a startup error occurs or the service is already started.- See Also:
Channel
-
stop
public void stop(int svc) throws ChannelExceptionShuts down the channel. This can be called multiple times for individual services to shutdown The svc parameter can be the logical or value of any constantsSends local member shutdown.
- Specified by:
stopin interfaceChannelInterceptor- Overrides:
stopin classChannelInterceptorBase- Parameters:
svc- int value of
DEFAULT - will shutdown all services
MBR_RX_SEQ - stops the membership receiver
MBR_TX_SEQ - stops the membership broadcaster
SND_TX_SEQ - stops the replication transmitter
SND_RX_SEQ - stops the replication receiver- Throws:
ChannelException- if a startup error occurs or the service is already started.- See Also:
Channel
-
sendLocalMember
protected void sendLocalMember(Member[] members)
-
sendShutdown
protected void sendShutdown(Member[] members)
-
getfirstInterceptor
protected ChannelInterceptor getfirstInterceptor()
-
sendMemberMessage
protected void sendMemberMessage(Member[] members, byte[] message) throws ChannelException
- Throws:
ChannelException
-
-