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

    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
    Take appropriate action after some service failed to stop.
  • Method Details

    • 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