Class MembershipServiceBase
- java.lang.Object
-
- org.apache.catalina.tribes.membership.MembershipServiceBase
-
- All Implemented Interfaces:
MembershipListener,MembershipService
- Direct Known Subclasses:
CloudMembershipService,McastService,StaticMembershipService
public abstract class MembershipServiceBase extends java.lang.Object implements MembershipService, MembershipListener
Base implementation for membership services.
-
-
Field Summary
Fields Modifier and Type Field Description protected ChannelchannelThe channel.protected MembershipListenerlistenerThe membership listener.protected java.util.PropertiespropertiesThe implementation specific properties-
Fields inherited from interface org.apache.catalina.tribes.MembershipService
MBR_RX, MBR_TX
-
-
Constructor Summary
Constructors Constructor Description MembershipServiceBase()Default constructor.
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description voidbroadcast(ChannelMessage message)Broadcasts a message to all members.MemberfindMemberByName(java.lang.String name)Get a member.ChannelgetChannel()Return the channel that is related to this MembershipServiceMembergetMember(Member mbr)Retrieve the specified member from the membership.Member[]getMembers()Returns all members currently in the cluster.java.lang.String[]getMembersByName()Returns the names of all members in the cluster.java.util.PropertiesgetProperties()Returns the properties used to configure the membership service.booleanhasMembers()Checks whether the membership group contains any members.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 datavoidremoveMembershipListener()Removes the membership listener.voidsetChannel(Channel channel)Set the channel that is related to this MembershipServicevoidsetMembershipListener(MembershipListener listener)Sets the membership listener, only one listener can be added.voidsetProperties(java.util.Properties properties)Sets the properties for the membership service.voidstart()Starts the membership service.-
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.MembershipService
getLocalMember, getMembershipProvider, setDomain, setLocalMemberProperties, setPayload, start, stop
-
-
-
-
Field Detail
-
properties
protected java.util.Properties properties
The implementation specific properties
-
listener
protected volatile MembershipListener listener
The membership listener.
-
channel
protected Channel channel
The channel.
-
-
Method Detail
-
setProperties
public void setProperties(java.util.Properties properties)
Description copied from interface:MembershipServiceSets the properties for the membership service. This must be called before thestart()method is called. The properties are implementation specific.- Specified by:
setPropertiesin interfaceMembershipService- Parameters:
properties- - to be used to configure the membership service.
-
getProperties
public java.util.Properties getProperties()
Description copied from interface:MembershipServiceReturns the properties used to configure the membership service.- Specified by:
getPropertiesin interfaceMembershipService- Returns:
- the properties for the configuration used
-
hasMembers
public boolean hasMembers()
Description copied from interface:MembershipServiceChecks whether the membership group contains any members.- Specified by:
hasMembersin interfaceMembershipService- Returns:
- true if the group contains members
-
getMember
public Member getMember(Member mbr)
Description copied from interface:MembershipServiceRetrieve the specified member from the membership.- Specified by:
getMemberin interfaceMembershipService- Parameters:
mbr- The member to retrieve- Returns:
- the member
-
getMembers
public Member[] getMembers()
Description copied from interface:MembershipServiceReturns all members currently in the cluster.- Specified by:
getMembersin interfaceMembershipService- Returns:
- an array of all the members in the cluster
-
getMembersByName
public java.lang.String[] getMembersByName()
Description copied from interface:MembershipServiceReturns the names of all members in the cluster.- Specified by:
getMembersByNamein interfaceMembershipService- Returns:
- all members by name
-
findMemberByName
public Member findMemberByName(java.lang.String name)
Description copied from interface:MembershipServiceGet a member.- Specified by:
findMemberByNamein interfaceMembershipService- Parameters:
name- The member name- Returns:
- the member
-
setMembershipListener
public void setMembershipListener(MembershipListener listener)
Description copied from interface:MembershipServiceSets the membership listener, only one listener can be added. If you call this method twice, the last listener will be used.- Specified by:
setMembershipListenerin interfaceMembershipService- Parameters:
listener- The listener
-
removeMembershipListener
public void removeMembershipListener()
Description copied from interface:MembershipServiceRemoves the membership listener.- Specified by:
removeMembershipListenerin interfaceMembershipService
-
memberAdded
public void memberAdded(Member member)
Description copied from interface:MembershipListenerA member was added to the group- Specified by:
memberAddedin interfaceMembershipListener- Parameters:
member- Member - the member that was added
-
memberDisappeared
public void memberDisappeared(Member member)
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- Parameters:
member- Member- See Also:
Member.SHUTDOWN_PAYLOAD
-
broadcast
public void broadcast(ChannelMessage message) throws ChannelException
Description copied from interface:MembershipServiceBroadcasts a message to all members.- Specified by:
broadcastin interfaceMembershipService- Parameters:
message- The message to broadcast- Throws:
ChannelException- Message broadcast failed
-
getChannel
public Channel getChannel()
Description copied from interface:MembershipServiceReturn the channel that is related to this MembershipService- Specified by:
getChannelin interfaceMembershipService- Returns:
- Channel
-
setChannel
public void setChannel(Channel channel)
Description copied from interface:MembershipServiceSet the channel that is related to this MembershipService- Specified by:
setChannelin interfaceMembershipService- Parameters:
channel- The channel
-
start
public void start() throws java.lang.ExceptionDescription copied from interface:MembershipServiceStarts the membership service. If a membership listeners is added the listener will start to receive membership events. Performs a start level 1 and 2- Specified by:
startin interfaceMembershipService- Throws:
java.lang.Exception- if the service fails to start.
-
-