Package org.apache.catalina.tribes
Interface MembershipService
-
- All Known Implementing Classes:
CloudMembershipService
,McastService
,MembershipServiceBase
,StaticMembershipService
public interface MembershipService
MembershipService Interface
TheMembershipService
interface is the membership component at the bottom layer, the IO layer (for layers see the javadoc for theChannel
interface).
-
-
Method Summary
All Methods Instance Methods Abstract Methods Modifier and Type Method Description void
broadcast(ChannelMessage message)
Broadcasts a message to all members.Member
findMemberByName(java.lang.String name)
Get a member.Channel
getChannel()
Return the channel that is related to this MembershipServiceMember
getLocalMember(boolean incAliveTime)
Get the local member.Member
getMember(Member mbr)
Retrieve the specified member from the membership.Member[]
getMembers()
java.lang.String[]
getMembersByName()
MembershipProvider
getMembershipProvider()
Get the MembershipProviderjava.util.Properties
getProperties()
boolean
hasMembers()
void
removeMembershipListener()
Removes the membership listener.void
setChannel(Channel channel)
Set the channel that is related to this MembershipServicevoid
setDomain(byte[] domain)
void
setLocalMemberProperties(java.lang.String listenHost, int listenPort, int securePort, int udpPort)
Sets the local member properties for broadcasting.void
setMembershipListener(MembershipListener listener)
Sets the membership listener, only one listener can be added.void
setPayload(byte[] payload)
Set a payload to be broadcasted with each membership broadcast.void
setProperties(java.util.Properties properties)
Sets the properties for the membership service.void
start()
Starts the membership service.void
start(int level)
Starts the membership service.void
stop(int level)
Starts the membership service.
-
-
-
Field Detail
-
MBR_RX
static final int MBR_RX
- See Also:
- Constant Field Values
-
MBR_TX
static final int MBR_TX
- See Also:
- Constant Field Values
-
-
Method Detail
-
setProperties
void setProperties(java.util.Properties properties)
Sets the properties for the membership service. This must be called before thestart()
method is called. The properties are implementation specific.- Parameters:
properties
- - to be used to configure the membership service.
-
getProperties
java.util.Properties getProperties()
- Returns:
- the properties for the configuration used.
-
start
void start() throws java.lang.Exception
Starts the membership service. If a membership listeners is added the listener will start to receive membership events. Performs a start level 1 and 2- Throws:
java.lang.Exception
- if the service fails to start.
-
start
void start(int level) throws java.lang.Exception
Starts the membership service. If a membership listeners is added the listener will start to receive membership events.- Parameters:
level
- - level MBR_RX starts listening for members, level MBR_TX starts broad casting the server- Throws:
java.lang.Exception
- if the service fails to start.java.lang.IllegalArgumentException
- if the level is incorrect.
-
stop
void stop(int level)
Starts the membership service. If a membership listeners is added the listener will start to receive membership events.- Parameters:
level
- - level MBR_RX stops listening for members, level MBR_TX stops broad casting the server- Throws:
java.lang.IllegalArgumentException
- if the level is incorrect.
-
hasMembers
boolean hasMembers()
- Returns:
- true if the the group contains members
-
getMember
Member getMember(Member mbr)
Retrieve the specified member from the membership.- Parameters:
mbr
- The member to retrieve- Returns:
- the member
-
getMembers
Member[] getMembers()
- Returns:
- a list of all the members in the cluster.
-
getLocalMember
Member getLocalMember(boolean incAliveTime)
Get the local member.- Parameters:
incAliveTime
-true
to set the alive time on the local member- Returns:
- the member object that defines this member
-
getMembersByName
java.lang.String[] getMembersByName()
- Returns:
- all members by name
-
findMemberByName
Member findMemberByName(java.lang.String name)
Get a member.- Parameters:
name
- The member name- Returns:
- the member
-
setLocalMemberProperties
void setLocalMemberProperties(java.lang.String listenHost, int listenPort, int securePort, int udpPort)
Sets the local member properties for broadcasting.- Parameters:
listenHost
- Listen to hostlistenPort
- Listen to portsecurePort
- Use a secure portudpPort
- Use UDP
-
setMembershipListener
void setMembershipListener(MembershipListener listener)
Sets the membership listener, only one listener can be added. If you call this method twice, the last listener will be used.- Parameters:
listener
- The listener
-
removeMembershipListener
void removeMembershipListener()
Removes the membership listener.
-
setPayload
void setPayload(byte[] payload)
Set a payload to be broadcasted with each membership broadcast.- Parameters:
payload
- byte[]
-
setDomain
void setDomain(byte[] domain)
-
broadcast
void broadcast(ChannelMessage message) throws ChannelException
Broadcasts a message to all members.- Parameters:
message
- The message to broadcast- Throws:
ChannelException
- Message broadcast failed
-
getChannel
Channel getChannel()
Return the channel that is related to this MembershipService- Returns:
- Channel
-
setChannel
void setChannel(Channel channel)
Set the channel that is related to this MembershipService- Parameters:
channel
- The channel
-
getMembershipProvider
MembershipProvider getMembershipProvider()
Get the MembershipProvider- Returns:
- MembershipProvider
-
-