式とは、ルールに追加できるカスタム・ロジックを含むコードです。
式では、Active
Correlation Technology エンジンの外部にあるコードにアクセスすることもできます。ルール言語では、式は、特定のコンテキスト、またはルール言語エレメント内でのみ有効です。
ルール・ライターは、コンテキスト、および取得したい結果に応じて、異なる目的のために式をコーディングできます。式は、変数の初期化、イベント選択基準の定義、およびルール応答アクションおよびライフ・サイクル・アクションの指定に頻繁に使用されます。
式を含む言語エレメント
式を含む各言語エレメントには、式が作成されたプログラミング言語を識別する expressionLanguage 属性が指定されています。
サポートされている式言語は、Java™ プログラミング
言語のみです。
式は、以下のルール言語エレメントに含めることができます。
- ルール・セット、ルール・ブロック、またはルール変数の <varInitializer>
- <eventSelector> の <filteringPredicate>
- <groupingKey> の <computedValue>
- 計算ルールの <computeFunction>
- しきい値ルールの <booleanThreshold>
- しきい値ルールの <computedThreshold>
- ルールのルール応答アクション:
- <onDetection> 内の <action>。このアクションは、重複ルール、フィルター・ルール、シーケンス・ルール、およびしきい値ルールに対してのみ有効です。
- <onNextEvent> 内の <action>。このアクションは、重複ルールに対してのみ有効です。
- <onTimeOut> 内の <action>。このアクションは、シーケンス・ルールおよびしきい値ルールに対してのみ有効です。
- <onTimeWindowComplete> 内の <action>。このアクションは、コレクション・ルール、計算ルール、重複ルール、およびタイマー・ルールに対してのみ有効です。
- ルールのライフ・サイクル・アクション:
- <onLoad> 内の <action>
- <onActivation> 内の <action>
- <onDeactivation> 内の <action>
- <onUnload> 内の <action>
式のコーディングを支援する Active Correlation Technology の機能
ルール・ライターが式をコーディングするのを支援するため、Active Correlation Technology では、以下を行う機能が提供されています。
- 式で使用する外部モジュール (Java クラスなど) およびオブジェクトのインポート。
- ルール・セット、ルール・ブロック、またはルール変数の初期化とアクセス。
- act_event 変数を使用した、ルールが処理中の現行イベントへのアクセス。
- act_eventCount 変数を使用した、ルールで受け入れられたイベント数へのアクセス。
- act_eventList 変数を使用した、ルールで受け入れられたイベント・リストへのアクセス。これには、イベントのさまざまな属性にアクセスする機能や、別名を使用してシーケンス・ルール内の各イベントにアクセスする機能も含まれます。
- act_lib 変数を使用した、メソッド (変数を取得および設定し、ルール・セットにおけるイベント・フローを制御する機能を含む) へのアクセス。
- act_location 変数を使用した、ルール階層における式のロケーションへのアクセス。
- act_nodeName 変数を使用した、ノードの完全修飾名へのアクセス。
- act_threshold 変数を使用した、しきい値ルールの定義されたしきい値へのアクセス。