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 org.apache.catalina.tribes.membership.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 org.apache.catalina.tribes.membership.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
Get value of environment variable.- Parameters:
keys- the environment variables- Returns:
- the env variables values, or null if not found
-
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
public void heartbeat()Description copied from interface:HeartbeatHeartbeat invocation for resources cleanup etc -
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
-