Interface ServiceFailurePolicy


  • public interface ServiceFailurePolicy
    ServiceFailurePolicy is used to control how a Guardable associated with a service is managed by its Guardian after the configured timeout.
    Since:
    Coherence 3.5
    Author:
    rhl
    • Method Summary

      All Methods Instance Methods Abstract Methods 
      Modifier and Type Method Description
      void onGuardableRecovery​(Guardable guardable, Service service)
      Take appropriate action after the specified guardable (associated with the specified service) has missed a "soft-timeout" and has entered the "RECOVERY" state.
      void onGuardableTerminate​(Guardable guardable, Service service)
      Take appropriate action after the specified guardable (associated with the specified service) has missed a "hard-timeout" and has entered the "TERMINATING" state.
      void onServiceFailed​(Cluster cluster)
      Take appropriate action after some service failed to stop.
    • Method Detail

      • onGuardableRecovery

        void onGuardableRecovery​(Guardable guardable,
                                 Service service)
        Take appropriate action after the specified guardable (associated with the specified service) has missed a "soft-timeout" and has entered the "RECOVERY" state.

        This method will be invoked on a dedicated thread; further failures, hangs or deadlocks of recovery handling logic will not directly affect other healthy service threads.

        Note: in general, implementations should call the Guardable.recover() method on the specified guardable

        Parameters:
        guardable - the guardable that entered the RECOVERY state
        service - the service that the guardable is associated with
        Since:
        Coherence 3.6
      • onGuardableTerminate

        void onGuardableTerminate​(Guardable guardable,
                                  Service service)
        Take appropriate action after the specified guardable (associated with the specified service) has missed a "hard-timeout" and has entered the "TERMINATING" state.

        This method will be invoked on a dedicated thread; further failures, hangs or deadlocks of termination handling logic will not directly affect other healthy service threads.

        Note: in general, implementations should call the Guardable.terminate() method on the specified guardable

        Parameters:
        guardable - the context that entered the TERMINATING state
        service - the service that the guardable is associated with
        Since:
        Coherence 3.6
      • onServiceFailed

        void onServiceFailed​(Cluster cluster)
        Take appropriate action after some service failed to stop. The failed service may be hung, deadlocked, or otherwise in an inconsistent and/or unresponsive state.

        This method will be invoked on a dedicated thread; further failures, hangs, or deadlocks of failure handling logic will not directly affect other healthy service threads.

        Note: it is strongly advised that, at a minimum, any failure policy should attempt to stop the cluster services (e.g. via Cluster.stop()) or otherwise ensure that they are stopped, in order to isolate any failure from the rest of the cluster.

        Parameters:
        cluster - the cluster