Events flow through a rule set in the order that the rule blocks
and rules are coded. When the Active Correlation Technology engine receives
an event, the engine determines the event type and identifies the rules that
use this event type for rule activation, event processing, or rule deactivation.
How events are used by rules
Each rule that uses
the event first determines whether the event meets all of the specified criteria
for rule activation, event processing, or rule deactivation. If it does, the
rule takes the following action:
- For rule activation
- The actions within the <onActivation> element for the rule are run,
if they are coded.
- For event processing
- The rule processes the event. When the rule pattern is matched, the rule
response actions are run, if they are coded. In some situations, rule response
actions can do the following:
- The action can cause the event to skip the processing in the remainder
of the rule block or rule set.
- The action can send a new or existing event to another rule or rule block
for processing.
- For rule deactivation
- The actions within the <onDeactivation> element for the rule are run,
if they are coded.
Methods that can influence the flow of events
The
Active Correlation Technology provides the following methods that can be called
to influence the flow of events through the rule set. These methods are available
through the act_lib variable.
- exitRuleSet
- This method specifies that the current event is not processed by any additional
rules in the rule set.
- exitRuleBlock
- This method specifies that the current event is not processed by any additional
rules in the current rule block or in any rule blocks that this rule block
contains. However, it is processed by additional rules that are outside the
scope of the current rule block.
- forward
- This method specifies that an event is to be sent to other rules and rule
blocks even though the current rule has not completed its processing. Each
of the other rules and rule blocks then processes the event completely before
returning the event to the rule that called the forward method.
- forwardOnCompletion
- This method specifies that an event is to be sent to other rules and rule
blocks after the current rule has completed its processing.