Class CloudMembershipProvider
java.lang.Object
org.apache.catalina.tribes.membership.MembershipProviderBase
org.apache.catalina.tribes.membership.cloud.CloudMembershipProvider
- All Implemented Interfaces:
ChannelListener, Heartbeat, MembershipProvider
- Direct Known Subclasses:
DNSMembershipProvider, KubernetesMembershipProvider
public abstract class CloudMembershipProvider
extends MembershipProviderBase
implements Heartbeat, ChannelListener
-
Field Summary
FieldsModifier and TypeFieldDescriptionprotected intprotected static final Stringprotected longprotected Stringprotected MessageDigestprotected intprotected intprotected static final StringManagerprotected Instantprotected StreamProviderprotected StringFields inherited from class MembershipProviderBase
executor, membership, membershipListener, service -
Constructor Summary
Constructors -
Method Summary
Modifier and TypeMethodDescriptionbooleanaccept(Serializable msg, Member sender) Invoked by the channel to determine if the listener will process this message or not.protected abstract Member[]Fetch current cluster members from the cloud orchestration.protected static StringGet value of environment variable.protected StringGet the Kubernetes namespace, or "tomcat" if the Kubernetes environment variable cannot be found (with a warning log about the missing namespace).voidHeartbeat invocation for resources cleanup etcvoidinit(Properties properties) Initialize the membership provider with the specified configuration.voidmessageReceived(Serializable msg, Member sender) Receive a message from the channelvoidstart(int level) Start the membership provider.booleanstop(int level) Stop the membership provider.protected voidupdateMember(Member member, boolean add) Add or remove specified member.Methods inherited from class MembershipProviderBase
getMember, getMembers, hasMembers, setMembershipListener, setMembershipService
-
Field Details
-
sm
-
CUSTOM_ENV_PREFIX
- See Also:
-
url
-
streamProvider
-
connectionTimeout
protected int connectionTimeout -
readTimeout
protected int readTimeout -
startTime
-
md5
-
headers
-
localIp
-
port
protected int port -
expirationTime
protected long expirationTime
-
-
Constructor Details
-
CloudMembershipProvider
public CloudMembershipProvider()
-
-
Method Details
-
getEnv
-
getNamespace
Get the Kubernetes namespace, or "tomcat" if the Kubernetes environment variable cannot be found (with a warning log about the missing namespace).- Returns:
- the namespace
-
init
Description copied from interface:MembershipProviderInitialize the membership provider with the specified configuration.- Specified by:
initin interfaceMembershipProvider- Overrides:
initin classMembershipProviderBase- Parameters:
properties- configuration- Throws:
IOException
-
start
Description copied from interface:MembershipProviderStart the membership provider.- Specified by:
startin interfaceMembershipProvider- 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
-
stop
Description copied from interface:MembershipProviderStop the membership provider.- Specified by:
stopin interfaceMembershipProvider- 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
-
heartbeat
-
fetchMembers
Fetch current cluster members from the cloud orchestration.- Returns:
- the member array
-
updateMember
Add or remove specified member.- Parameters:
member- the member to addadd- true if the member is added, false otherwise
-
messageReceived
Description copied from interface:ChannelListenerReceive a message from the channel- Specified by:
messageReceivedin interfaceChannelListener- Parameters:
msg- Serializablesender- - the source of the message
-
accept
Description copied from interface:ChannelListenerInvoked by the channel to determine if the listener will process this message or not.- Specified by:
acceptin interfaceChannelListener- Parameters:
msg- Serializablesender- Member- Returns:
- boolean
-