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[]static final Stringprotected static final StringManagerFields inherited from class org.apache.catalina.tribes.membership.MembershipServiceBase
channel, listener, propertiesFields inherited from interface org.apache.catalina.tribes.MembershipService
MBR_RX, MBR_TX -
Constructor Summary
Constructors -
Method Summary
Modifier and TypeMethodDescriptionintlonggetLocalMember(boolean incAliveTime) Get the local member.Get the MembershipProviderReturn the membership provider class.getProperty(String name) Return a property.intvoidsetConnectTimeout(int connectTimeout) voidsetDomain(byte[] domain) Set the associated domain.voidsetExpirationTime(long expirationTime) voidsetLocalMemberProperties(String listenHost, int listenPort, int securePort, int udpPort) Sets the local member properties for broadcasting.voidsetMembershipProvider(MembershipProvider memberProvider) 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) voidstart(int level) Starts the membership service.voidstop(int level) Stops the membership service.Methods inherited from class org.apache.catalina.tribes.membership.MembershipServiceBase
broadcast, findMemberByName, getChannel, getMember, getMembers, getMembersByName, getProperties, hasMembers, memberAdded, memberDisappeared, removeMembershipListener, setChannel, setMembershipListener, setProperties, startMethods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, waitMethods inherited from interface org.apache.catalina.tribes.membership.cloud.CloudMembershipServiceMBean
findMemberByName, getMembersByName, getProperties, hasMembers
-
Field Details
-
sm
-
MEMBERSHIP_PROVIDER_CLASS_NAME
- See Also:
-
INITIAL_ID
protected static final byte[] INITIAL_ID
-
-
Constructor Details
-
CloudMembershipService
public CloudMembershipService()
-
-
Method Details
-
getProperty
Return a property.- Parameters:
name- the property name- Returns:
- the property value
-
setProperty
Set a property.- Parameters:
name- the property namevalue- the property value- Returns:
trueif the property was successfully set
-
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 broad casting the server- Throws:
Exception- if the service fails to start.IllegalArgumentException- if the level is incorrect.
-
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 broad casting 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
-
getConnectTimeout
public int getConnectTimeout()- Specified by:
getConnectTimeoutin interfaceCloudMembershipServiceMBean
-
setConnectTimeout
public void setConnectTimeout(int connectTimeout) -
getReadTimeout
public int getReadTimeout()- Specified by:
getReadTimeoutin interfaceCloudMembershipServiceMBean
-
setReadTimeout
public void setReadTimeout(int readTimeout) -
getExpirationTime
public long getExpirationTime()- Specified by:
getExpirationTimein interfaceCloudMembershipServiceMBean
-
setExpirationTime
public void setExpirationTime(long expirationTime)
-