イベントは、ルール・ブロックおよびルールがコーディングされた順序でルール・セット内をフローします。Active Correlation Technology エンジンがイベントを受信すると、エンジンはイベント・タイプを判別し、ルールのアクティブ化、イベントの処理、またはルールの非アクティブ化にこのイベント・タイプを使用するルールを識別します。
ルールによるイベントの使用方法
イベントを使用する各ルールでは、ルールのアクティブ化、イベントの処理、またはルールの非アクティブ化に対して指定されたすべての基準にイベントが一致するかどうか、最初に判別されます。一致する場合、ルールは以下のアクションを実行します。
- ルールのアクティブ化の場合
- ルールの <onActivation> エレメントに含まれるアクションが実行されます (コーディングされている場合)。
- イベント処理の場合
- ルールはイベントを処理します。ルール・パターンが一致する場合、ルール応答アクションが実行されます (コーディングされている場合)。状態によっては、ルール応答アクションでは以下を行うことができます。
- アクションにより、イベントにルール・ブロックまたはルール・セットの残りの部分での処理をスキップさせることができます。
- アクションにより、処理のために、別のルールまたはルール・ブロックに新規または既存のイベントを送信できます。
- ルールの非アクティブ化の場合
- ルールの <onDeactivation> エレメントに含まれるアクションが実行されます (コーディングされている場合)。
イベント・フローに影響するメソッド
Active Correlation Technology では、ルール・セットにおけるイベントのフローに影響を与えるために呼び出すことができる以下のメソッドを提供しています。これらのメソッドは、act_lib 変数を介して使用できます。
- exitRuleSet
- このメソッドは、現行イベントがルール・セットの以降のルールで処理されないことを指定します。
- exitRuleBlock
- このメソッドは、現行イベントが現行ルール・ブロック、またはこのルール・ブロックが含むすべてのルール・ブロックの以降のルールで処理されないことを指定します。ただし、現行ルール・ブロックの有効範囲外にある以降のルールでは処理されます。
- forward
- このメソッドは、現行ルールが処理を完了していない場合でも、イベントが他のルールおよびルール・ブロックに送信されることを指定します。その後、他の各ルールおよびルール・ブロックは、完全にイベントを処理してから、forward メソッドを呼び出したルールにイベントを戻します。
- forwardOnCompletion
- このメソッドは、現行ルールが処理を完了した後に、イベントが他のルールおよびルール・ブロックに送信されることを指定します。