Class CloudMembershipService
java.lang.Object
org.apache.catalina.tribes.membership.MembershipServiceBase
org.apache.catalina.tribes.membership.cloud.CloudMembershipService
- All Implemented Interfaces:
CloudMembershipServiceMBean, MembershipListener, MembershipService
public class CloudMembershipService
extends MembershipServiceBase
implements CloudMembershipServiceMBean
A
MembershipService that uses Kubernetes API(default) or DNS to retrieve the
members of a cluster.
The default implementation of the MembershipProvider component is the KubernetesMembershipProvider. The
MembershipProvider can be configured by the membershipProviderClassName property. Possible shortcuts are
kubernetes and dns. For dns look at the DNSMembershipProvider.
Configuration example
server.xml
<Server ...
<Service ...
<Engine ...
<Host ...
<Cluster className="org.apache.catalina.ha.tcp.SimpleTcpCluster">
<Channel className="org.apache.catalina.tribes.group.GroupChannel">
<Membership className="org.apache.catalina.tribes.membership.cloud.CloudMembershipService"/>
</Channel>
</Cluster>
...
-
Field Summary
FieldsModifier and TypeFieldDescriptionprotected static final byte[]Initial unique identifier for the local member.static final StringProperty name for the membership provider class.protected static final StringManagerString manager for this class.Fields inherited from class MembershipServiceBase
channel, listener, propertiesFields inherited from interface MembershipService
MBR_RX, MBR_TX -
Constructor Summary
ConstructorsConstructorDescriptionReturns the default constructor for CloudMembershipService. -
Method Summary
Modifier and TypeMethodDescriptionintReturns the connection timeout in milliseconds.longReturns the member expiration time in milliseconds.getLocalMember(boolean incAliveTime) Get the local member.Get the MembershipProviderReturn the membership provider class.getProperty(String name) Return a property.intReturns the read timeout in milliseconds.voidsetConnectTimeout(int connectTimeout) Set the connection timeout in milliseconds.voidsetDomain(byte[] domain) Set the associated domain.voidsetExpirationTime(long expirationTime) Set the member expiration time in milliseconds.voidsetLocalMemberProperties(String listenHost, int listenPort, int securePort, int udpPort) Sets the local member properties for broadcasting.voidsetMembershipProvider(MembershipProvider memberProvider) Set the membership provider.voidsetMembershipProviderClassName(String membershipProviderClassName) Set the membership provider class.voidsetPayload(byte[] payload) Set a payload to be broadcasted with each membership broadcast.booleansetProperty(String name, String value) Set a property.voidsetReadTimeout(int readTimeout) Set the read timeout in milliseconds.voidstart(int level) Starts the membership service.voidstop(int level) Stops the membership service.Methods inherited from class MembershipServiceBase
broadcast, findMemberByName, getChannel, getMember, getMembers, getMembersByName, getProperties, hasMembers, memberAdded, memberDisappeared, removeMembershipListener, setChannel, setMembershipListener, setProperties, startMethods inherited from class Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, waitMethods inherited from interface CloudMembershipServiceMBean
findMemberByName, getMembersByName, getProperties, hasMembers
-
Field Details
-
sm
String manager for this class. -
MEMBERSHIP_PROVIDER_CLASS_NAME
Property name for the membership provider class.- See Also:
-
INITIAL_ID
protected static final byte[] INITIAL_IDInitial unique identifier for the local member.
-
-
Constructor Details
-
CloudMembershipService
public CloudMembershipService()Returns the default constructor for CloudMembershipService.
-
-
Method Details
-
getProperty
-
setProperty
-
getMembershipProviderClassName
Return the membership provider class.- Returns:
- the classname
-
setMembershipProviderClassName
Set the membership provider class.- Parameters:
membershipProviderClassName- the class name
-
start
Description copied from interface:MembershipServiceStarts the membership service. If a membership listeners is added the listener will start to receive membership events.- Specified by:
startin interfaceMembershipService- Parameters:
level- - level MBR_RX starts listening for members, level MBR_TX starts broadcasting the server- Throws:
Exception- if the service fails to start.
-
stop
public void stop(int level) Description copied from interface:MembershipServiceStops the membership service. If a membership listeners is added the listener will start to receive membership events.- Specified by:
stopin interfaceMembershipService- Parameters:
level- - level MBR_RX stops listening for members, level MBR_TX stops broadcasting the server
-
getLocalMember
Description copied from interface:MembershipServiceGet the local member.- Specified by:
getLocalMemberin interfaceMembershipService- Parameters:
incAliveTime-trueto set the alive time on the local member- Returns:
- the member object that defines this member
-
setLocalMemberProperties
public void setLocalMemberProperties(String listenHost, int listenPort, int securePort, int udpPort) Description copied from interface:MembershipServiceSets the local member properties for broadcasting.- Specified by:
setLocalMemberPropertiesin interfaceMembershipService- Parameters:
listenHost- Listen to hostlistenPort- Listen to portsecurePort- Use a secure portudpPort- Use UDP
-
setPayload
public void setPayload(byte[] payload) Description copied from interface:MembershipServiceSet a payload to be broadcasted with each membership broadcast.- Specified by:
setPayloadin interfaceMembershipService- Parameters:
payload- byte[]
-
setDomain
public void setDomain(byte[] domain) Description copied from interface:MembershipServiceSet the associated domain.- Specified by:
setDomainin interfaceMembershipService- Parameters:
domain- the domain
-
getMembershipProvider
Description copied from interface:MembershipServiceGet the MembershipProvider- Specified by:
getMembershipProviderin interfaceMembershipService- Returns:
- MembershipProvider
-
setMembershipProvider
Set the membership provider.- Parameters:
memberProvider- the membership provider
-
getConnectTimeout
public int getConnectTimeout()Description copied from interface:CloudMembershipServiceMBeanReturns the connection timeout in milliseconds.- Specified by:
getConnectTimeoutin interfaceCloudMembershipServiceMBean- Returns:
- the connection timeout
-
setConnectTimeout
public void setConnectTimeout(int connectTimeout) Set the connection timeout in milliseconds.- Parameters:
connectTimeout- the connection timeout
-
getReadTimeout
public int getReadTimeout()Description copied from interface:CloudMembershipServiceMBeanReturns the read timeout in milliseconds.- Specified by:
getReadTimeoutin interfaceCloudMembershipServiceMBean- Returns:
- the read timeout
-
setReadTimeout
public void setReadTimeout(int readTimeout) Set the read timeout in milliseconds.- Parameters:
readTimeout- the read timeout
-
getExpirationTime
public long getExpirationTime()Description copied from interface:CloudMembershipServiceMBeanReturns the member expiration time in milliseconds.- Specified by:
getExpirationTimein interfaceCloudMembershipServiceMBean- Returns:
- the expiration time
-
setExpirationTime
public void setExpirationTime(long expirationTime) Set the member expiration time in milliseconds.- Parameters:
expirationTime- the expiration time
-