Class DNSMembershipProvider
java.lang.Object
org.apache.catalina.tribes.membership.MembershipProviderBase
org.apache.catalina.tribes.membership.cloud.CloudMembershipProvider
org.apache.catalina.tribes.membership.cloud.DNSMembershipProvider
- All Implemented Interfaces:
ChannelListener,Heartbeat,MembershipProvider
A
MembershipProvider that uses DNS to retrieve the members of a cluster.Configuration example for Kubernetes
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"
membershipProviderClassName="org.apache.catalina.tribes.membership.cloud.DNSMembershipProvider"/>
</Channel>
</Cluster>
...
dns-membership-service.yml
apiVersion: v1
kind: Service
metadata:
annotations:
service.alpha.kubernetes.io/tolerate-unready-endpoints: "true"
description: "The service for tomcat cluster membership."
name: my-tomcat-app-membership
spec:
clusterIP: None
ports:
- name: membership
port: 8888
selector:
app: my-tomcat-app
Environment variable configurationDNS_MEMBERSHIP_SERVICE_NAME=my-tomcat-app-membership -
Field Summary
Fields inherited from class org.apache.catalina.tribes.membership.cloud.CloudMembershipProvider
connectionTimeout, CUSTOM_ENV_PREFIX, expirationTime, headers, localIp, md5, port, readTimeout, sm, startTime, streamProvider, urlFields inherited from class org.apache.catalina.tribes.membership.MembershipProviderBase
executor, membership, membershipListener, service -
Constructor Summary
Constructors -
Method Summary
Methods inherited from class org.apache.catalina.tribes.membership.cloud.CloudMembershipProvider
getEnv, getNamespace, heartbeat, init, messageReceived, updateMemberMethods inherited from class org.apache.catalina.tribes.membership.MembershipProviderBase
getMember, getMembers, hasMembers, setMembershipListener, setMembershipServiceMethods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, waitMethods inherited from interface org.apache.catalina.tribes.ChannelListener
equals, hashCode
-
Constructor Details
-
DNSMembershipProvider
public DNSMembershipProvider()
-
-
Method Details
-
start
- Specified by:
startin interfaceMembershipProvider- Overrides:
startin classCloudMembershipProvider- Throws:
Exception
-
stop
- Specified by:
stopin interfaceMembershipProvider- Overrides:
stopin classCloudMembershipProvider- Throws:
Exception
-
fetchMembers
Description copied from class:CloudMembershipProviderFetch current cluster members from the cloud orchestration.- Specified by:
fetchMembersin classCloudMembershipProvider- Returns:
- the member array
-
accept
Description copied from interface:ChannelListenerInvoked by the channel to determine if the listener will process this message or not.- Specified by:
acceptin interfaceChannelListener- Overrides:
acceptin classCloudMembershipProvider- Parameters:
msg- Serializablesender- Member- Returns:
- boolean
-