Event flow through a rule set

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.