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>
         ...
  
  
 minimal example for the Service my-tomcat-app-membership, note the selectordns-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
   selector:
     app: my-tomcat-app
 
 
 First Tomcat pod minimal example, note the labels that must correspond to the
 selector in the service.tomcat1.yml 
 
 
 apiVersion: v1
 kind: Pod
 metadata:
   name: tomcat1
   labels:
     app: my-tomcat-app
 spec:
   containers:
   - name: tomcat
     image: tomcat
     ports:
     - containerPort: 8080
 
 
 Environment variable configurationDNS_MEMBERSHIP_SERVICE_NAME=my-tomcat-app-membership - 
Field SummaryFields inherited from class org.apache.catalina.tribes.membership.cloud.CloudMembershipProviderconnectionTimeout, CUSTOM_ENV_PREFIX, expirationTime, headers, localIp, md5, port, readTimeout, sm, startTime, streamProvider, urlFields inherited from class org.apache.catalina.tribes.membership.MembershipProviderBaseexecutor, membership, membershipListener, service
- 
Constructor SummaryConstructors
- 
Method SummaryModifier and TypeMethodDescriptionbooleanaccept(Serializable msg, Member sender) Invoked by the channel to determine if the listener will process this message or not.protected Member[]Fetch current cluster members from the cloud orchestration.voidstart(int level) Start the membership provider.booleanstop(int level) Stop the membership provider.Methods inherited from class org.apache.catalina.tribes.membership.cloud.CloudMembershipProvidergetEnv, getNamespace, heartbeat, init, messageReceived, updateMemberMethods inherited from class org.apache.catalina.tribes.membership.MembershipProviderBasegetMember, getMembers, hasMembers, setMembershipListener, setMembershipService
- 
Constructor Details- 
DNSMembershipProviderpublic DNSMembershipProvider()
 
- 
- 
Method Details- 
startDescription copied from interface:MembershipProviderStart the membership provider.- Specified by:
- startin interface- MembershipProvider
- Overrides:
- startin class- CloudMembershipProvider
- Parameters:
- level- the readiness level- Channel.DEFAULT - will start all services
- Channel.MBR_RX_SEQ - starts the membership receiver
- Channel.MBR_TX_SEQ - starts the membership broadcaster
 
- Throws:
- Exception- if an error occurs
 
- 
stopDescription copied from interface:MembershipProviderStop the membership provider.- Specified by:
- stopin interface- MembershipProvider
- Overrides:
- stopin class- CloudMembershipProvider
- Parameters:
- level- the readiness level- Channel.DEFAULT - will stop all services
- Channel.MBR_RX_SEQ - stops the membership receiver
- Channel.MBR_TX_SEQ - stops the membership broadcaster
 
- Returns:
- trueif successful
- Throws:
- Exception- if an error occurs
 
- 
fetchMembersDescription copied from class:CloudMembershipProviderFetch current cluster members from the cloud orchestration.- Specified by:
- fetchMembersin class- CloudMembershipProvider
- Returns:
- the member array
 
- 
acceptDescription copied from interface:ChannelListenerInvoked by the channel to determine if the listener will process this message or not.- Specified by:
- acceptin interface- ChannelListener
- Overrides:
- acceptin class- CloudMembershipProvider
- Parameters:
- msg- Serializable
- sender- Member
- Returns:
- boolean
 
 
-