Class CloudMembershipProvider

    • Field Detail

      • CUSTOM_ENV_PREFIX

        protected static final java.lang.String CUSTOM_ENV_PREFIX
        See Also:
        Constant Field Values
      • url

        protected java.lang.String url
      • connectionTimeout

        protected int connectionTimeout
      • readTimeout

        protected int readTimeout
      • startTime

        protected java.time.Instant startTime
      • md5

        protected java.security.MessageDigest md5
      • headers

        protected java.util.Map<java.lang.String,​java.lang.String> headers
      • localIp

        protected java.lang.String localIp
      • port

        protected int port
      • expirationTime

        protected long expirationTime
    • Constructor Detail

      • CloudMembershipProvider

        public CloudMembershipProvider()
    • Method Detail

      • getEnv

        protected static java.lang.String getEnv​(java.lang.String... keys)
        Get value of environment variable.
        Parameters:
        keys - the environment variables
        Returns:
        the env variables values, or null if not found
      • getNamespace

        protected java.lang.String 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
      • start

        public void start​(int level)
                   throws java.lang.Exception
        Specified by:
        start in interface MembershipProvider
        Throws:
        java.lang.Exception
      • stop

        public boolean stop​(int level)
                     throws java.lang.Exception
        Specified by:
        stop in interface MembershipProvider
        Throws:
        java.lang.Exception
      • heartbeat

        public void heartbeat()
        Description copied from interface: Heartbeat
        Heartbeat invocation for resources cleanup etc
        Specified by:
        heartbeat in interface Heartbeat
      • fetchMembers

        protected abstract Member[] fetchMembers()
        Fetch current cluster members from the cloud orchestration.
        Returns:
        the member array
      • updateMember

        protected void updateMember​(Member member,
                                    boolean add)
        Add or remove specified member.
        Parameters:
        member - the member to add
        add - true if the member is added, false otherwise
      • messageReceived

        public void messageReceived​(java.io.Serializable msg,
                                    Member sender)
        Description copied from interface: ChannelListener
        Receive a message from the channel
        Specified by:
        messageReceived in interface ChannelListener
        Parameters:
        msg - Serializable
        sender - - the source of the message
      • accept

        public boolean accept​(java.io.Serializable msg,
                              Member sender)
        Description copied from interface: ChannelListener
        Invoked by the channel to determine if the listener will process this message or not.
        Specified by:
        accept in interface ChannelListener
        Parameters:
        msg - Serializable
        sender - Member
        Returns:
        boolean