式とは、ルールに追加できるカスタム・ロジックを含むコードです。 式では、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 変数を使用した、しきい値ルールの定義されたしきい値へのアクセス。