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
AMembershipServicethat 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 themembershipProviderClassNameproperty. Possible shortcuts arekubernetesanddns. For dns look at theDNSMembershipProvider.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
Fields Modifier and Type Field Description protected static byte[]INITIAL_IDstatic StringMEMBERSHIP_PROVIDER_CLASS_NAMEprotected static StringManagersm-
Fields inherited from class org.apache.catalina.tribes.membership.MembershipServiceBase
channel, listener, properties
-
Fields inherited from interface org.apache.catalina.tribes.MembershipService
MBR_RX, MBR_TX
-
-
Constructor Summary
Constructors Constructor Description CloudMembershipService()
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description intgetConnectTimeout()longgetExpirationTime()MembergetLocalMember(boolean incAliveTime)Get the local member.MembershipProvidergetMembershipProvider()Get the MembershipProviderStringgetMembershipProviderClassName()Return the membership provider class.ObjectgetProperty(String name)Return a property.intgetReadTimeout()voidsetConnectTimeout(int connectTimeout)voidsetDomain(byte[] 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)Starts 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, start
-
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.membership.cloud.CloudMembershipServiceMBean
findMemberByName, getMembersByName, getProperties, hasMembers
-
-
-
-
Field Detail
-
sm
protected static final StringManager sm
-
MEMBERSHIP_PROVIDER_CLASS_NAME
public static final String MEMBERSHIP_PROVIDER_CLASS_NAME
- See Also:
- Constant Field Values
-
INITIAL_ID
protected static final byte[] INITIAL_ID
-
-
Method Detail
-
getProperty
public Object getProperty(String name)
Return a property.- Parameters:
name- the property name- Returns:
- the property value
-
setProperty
public boolean setProperty(String name, String value)
Set a property.- Parameters:
name- the property namevalue- the property value- Returns:
trueif the property was successfully set
-
getMembershipProviderClassName
public String getMembershipProviderClassName()
Return the membership provider class.- Returns:
- the classname
-
setMembershipProviderClassName
public void setMembershipProviderClassName(String membershipProviderClassName)
Set the membership provider class.- Parameters:
membershipProviderClassName- the class name
-
start
public void start(int level) throws ExceptionDescription 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:MembershipServiceStarts 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
public Member getLocalMember(boolean incAliveTime)
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)
- Specified by:
setDomainin interfaceMembershipService
-
getMembershipProvider
public MembershipProvider getMembershipProvider()
Description copied from interface:MembershipServiceGet the MembershipProvider- Specified by:
getMembershipProviderin interfaceMembershipService- Returns:
- MembershipProvider
-
setMembershipProvider
public void setMembershipProvider(MembershipProvider memberProvider)
-
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)
-
-