Class DefaultConnectionListenerFailureHandler

  • All Implemented Interfaces:
    ConnectionListenerFailureHandler

    public class DefaultConnectionListenerFailureHandler
    extends Object
    implements ConnectionListenerFailureHandler
    Default hander for failures in connection listener IOProcessors. Supports configuration of number retries, delay per retry, and uptime interval considered a success (resets number retries to zero).
    • Field Detail

      • retryDelay

        protected int retryDelay
      • successInterval

        protected int successInterval
      • maxRetries

        protected int maxRetries
    • Constructor Detail

      • DefaultConnectionListenerFailureHandler

        public DefaultConnectionListenerFailureHandler()
        Create a new DefaultConnectionListenerFailureHandler with default settings. retryDelay is 1 second, successInterval is 60 seconds, maxRetries is 10
      • DefaultConnectionListenerFailureHandler

        public DefaultConnectionListenerFailureHandler​(int retryDelay,
                                                       int successInterval,
                                                       int maxRetries)
        Create a new DefaultConnectionListenerFailureHandler
        Parameters:
        retryDelay - millis to wait before retrying
        successInterval - millis after which an initial or retry attempt will be deemed a success, resetting retry count to 0
        maxRetries - maximum number of retries allowed without a success, after which the listener will terminate
    • Method Detail

      • failed

        public boolean failed​(IOProcessor connectionListener,
                              Throwable cause)
        Default behavior is to log a warning and attempt retry per constructor config, eventually failing with a logged error and notification. May subclass and override this method to change the behavior.
        Specified by:
        failed in interface ConnectionListenerFailureHandler
        Parameters:
        connectionListener - the associated connection listener
        cause - cause of failure
        Returns:
        true if the listener should attempt to re-establish itself, false if it should terminate.
      • notifyAbnormalTermination

        public void notifyAbnormalTermination​(IOProcessor connectionListener,
                                              String message,
                                              Throwable cause)
        Default bevarior is to log the error. May subclass and override this method to change behavior.
        Specified by:
        notifyAbnormalTermination in interface ConnectionListenerFailureHandler
        Parameters:
        connectionListener - the associated connection listener
        message - explanation of termination
        cause - last exception that is causing termination