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
Modifier and TypeFieldDescriptionprotected int
protected static final String
protected long
protected String
protected MessageDigest
protected int
protected int
protected static final StringManager
protected Instant
protected StreamProvider
protected String
Fields inherited from class org.apache.catalina.tribes.membership.MembershipProviderBase
executor, membership, membershipListener, service
-
Constructor Summary
-
Method Summary
Modifier and TypeMethodDescriptionboolean
accept
(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 String
Get value of environment variable.protected String
Get the Kubernetes namespace, or "tomcat" if the Kubernetes environment variable cannot be found (with a warning log about the missing namespace).void
Heartbeat invocation for resources cleanup etcvoid
init
(Properties properties) Initialize the membership provider with the specified configuration.void
messageReceived
(Serializable msg, Member sender) Receive a message from the channelvoid
start
(int level) Start the membership provider.boolean
stop
(int level) Stop the membership provider.protected void
updateMember
(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:MembershipProvider
Initialize the membership provider with the specified configuration.- Specified by:
init
in interfaceMembershipProvider
- Overrides:
init
in classMembershipProviderBase
- Parameters:
properties
- configuration- Throws:
IOException
-
start
Description copied from interface:MembershipProvider
Start the membership provider.- Specified by:
start
in 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:MembershipProvider
Stop the membership provider.- Specified by:
stop
in 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:
true
if successful- Throws:
Exception
- if an error occurs
-
heartbeat
public void heartbeat()Description copied from interface:Heartbeat
Heartbeat 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:ChannelListener
Receive a message from the channel- Specified by:
messageReceived
in interfaceChannelListener
- Parameters:
msg
- Serializablesender
- - the source of the message
-
accept
Description copied from interface:ChannelListener
Invoked by the channel to determine if the listener will process this message or not.- Specified by:
accept
in interfaceChannelListener
- Parameters:
msg
- Serializablesender
- Member- Returns:
- boolean
-