public interface Guardable
Guardable objects are responsible for periodically proving that they are alive. Failure to do so will cause the Guardian to take corrective actions:
Guardable objects should be registered with an sufficiently sized SLA to accommodate variances in system-load, GC latencies etc. Guardians are not responsible for detecting or correcting for these conditions.
Modifier and Type | Method and Description |
---|---|
Guardian.GuardContext |
getContext()
Return the guard context monitoring this guardable, or null if this Guardable is no longer being monitored.
|
void |
recover()
Attempt to recover this Guardable.
|
void |
setContext(Guardian.GuardContext context)
Set the guard context.
|
void |
terminate()
Terminate this Guardable.
|
void setContext(Guardian.GuardContext context)
context
- the context guarding this GuardableGuardian.GuardContext getContext()
void recover()
In a common case where the Guardable has an associated thread, a suitable action would be to interrupt the thread.
If this method does not return before the timeout expires, the Guardable will be considered unrecoverable and will be terminated.
void terminate()
This is the final action taken by the Guardian before the Guardable is removed from its responsibility list.