Bela Ban created JGRP-1557:
------------------------------
Summary: SUPERVISOR: protocol to check conditions and perform corrective
actions if needed
Key: JGRP-1557
URL:
https://issues.jboss.org/browse/JGRP-1557
Project: JGroups
Issue Type: Feature Request
Reporter: Bela Ban
Assignee: Bela Ban
Fix For: 3.3
SUPERVISOR is a protocol anywhere in the stack that passes messages up and down by
default; it doesn't take part in message processing.
However, it handles events ADD_ASSERTION / REMOVE_ASSERTION, which adds/removes
assertions. An assertion is a condition with a name, an interval and an (optional) action.
Both conditions and actions can be Runnables, but this needs to be defined later.
When the interval for a condition has elapsed, it is triggered and (if true) it'll
invoke the associated action. A condition can be triggered by an interval elapsed or
perhaps also when a event is received (e.g. a view change).
Example:
- Condition: check if FD is present in the stack. If it is and fd.isMonitorRunning() ==
false and fd.getView().size() > 1, then call action fd.startFailureDetection() and log
an error message.
The error messages are stored in a bounded list, so the last N error messages can be
retrieved, e.g. via probe.sh.
--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators
For more information on JIRA, see:
http://www.atlassian.com/software/jira