activationInterval エレメント

<activationInterval> エレメントには、ルールがアクティブまたは非アクティブになるタイミングを定義するエレメントが含まれます。

詳細

ルールは、離散的な時点で、または特定のイベントによってアクティブ化または非アクティブ化できます。

ルールが離散的な時点および 特定のイベントでアクティブ化または非アクティブ化されるよう指定した場合、離散的な時点またはイベントを受信した時点のいずれか早い時点でルールがアクティブ化または非アクティブ化されます。ただしこの場合、ルールはそのライフ・サイクルをとおして、多くのイベントによってアクティブ化または非アクティブ化される可能性があります。例えば、ルールがイベントによってアクティブ化され、非アクティブ化され、定義された時点でアクティブ化され、再度非アクティブ化され、別のイベントによってアクティブ化されることもあります。

ビジネス環境においては、例えばビジネスに関する株式取引が開始されたことを示すイベントを受信したときにルールをアクティブ化する必要があるかもしれません。また、IT 環境においては、例えば 2005 年 10 月 29 日の 06:00 に保守期間を開始し、以下のいずれか早い時点で終了させる必要があるかもしれません。
  • 2005 年 10 月 30 日 11:30
  • 保守作業が完了したことを示すイベントの受信時

属性

<activationInterval> には属性がありません。

このエレメントを含むエレメント

<activationInterval> は以下のエレメントに含まれます。

このエレメントに含まれるエレメント

<activationInterval> には以下のエレメントが含まれます。

以下のエレメントは、表示されている順序でコーディングする必要があります。エレメントがオプションである場合、コーディングする必要はありませんが、コーディングするエレメントはすべて正しい順序になっている必要があります。

表 1. <activationInterval> エレメントに含まれるエレメント
エレメント 必須/オプション
<activationTime> オプション。指定できるのは 0 回または 1 回です。
<activateOnEvent> オプション。指定できるのは 0 回または 1 回です。
<deactivateOnEvent> オプション。指定できるのは 0 回または 1 回です。
<activationByGroupingKey> オプション。指定できるのは 0 回または 1 回です。

含まれるエレメント間の関係

<activationTime> エレメントに含まれる <start> エレメントおよび <stop> エレメントは、ルールをアクティブ化および非アクティブ化する静的メソッドです。これらのエレメントを使用することで、ルールを離散的な時点でアクティブ化または非アクティブ化できます。一方、<activateOnEvent> エレメントおよび <deactivateOnEvent> エレメントは、ルールをアクティブ化および非アクティブ化する動的メソッドです。これらのエレメントを使用することで、特定のイベントが発生した場合にルールをアクティブ化または非アクティブ化できます。例えば、ルールがまだアクティブ化されていない場合、<activateOnEvent> エレメントに定義された基準と一致するすべてのイベントによってルールがアクティブ化されます。また、ルールがまだ非アクティブ化されていない場合、<deactivateOnEvent> エレメントに定義された基準と一致するすべてのイベントによってルールが非アクティブ化されます。そのため、特定のイベントによって、ルールがアクティブ化または非アクティブ化されるタイミングの静的定義が変更されることがあります。

表 2 では、以下のエレメントをさまざまに組み合わせてコーディングした場合に、ルールがいつどのようにアクティブ化または非アクティブ化されるかについて説明しています。
  • <start>
  • <stop>
  • <activateOnEvent>
  • <deactivateOnEvent>
表 2 では、X はルールをアクティブ化するイベントの名前、Y はルールを非アクティブ化するイベントの名前を示します。

<start> エレメントがまったくコーディングされていない場合、デフォルトの開始時刻は <whenLoaded> エレメントで定義されている時刻と同じです。

<stop> エレメントがまったくコーディングされていない場合、デフォルトの停止時刻は <never> エレメントで定義されている時刻と同じです。

表 2. <activationInterval> に含まれるエレメントをさまざまに組み合わせてコーディングした場合のルール・アクティビティー
<activationTime> <activateOnEvent> <deactivateOnEvent> ルール・アクティビティー
<start> <stop>
<whenLoaded> <never>     ルールはロード時にアクティブであり、Active Correlation Technology エンジンの実行中はアクティブな状態のままになります。
<whenLoaded> <never>   Y ルールはロード時にアクティブです。イベント Y がルールを非アクティブ化します。
<whenLoaded> <never> X Y ルールはロード時にアクティブです。イベント Y がルールを非アクティブ化し、イベント X がルールを再アクティブ化します。この非アクティブ化および再アクティブ化は、複数回発生することがあります。
<whenLoaded> <after>     ルールはロード時にアクティブであり、指定された時間間隔の経過後に非アクティブ化されます。
<whenLoaded> <dateTime>     ルールはロード時にアクティブであり、指定された日時に非アクティブ化されます。
<inactiveWhenLoaded> <never> X   ルールはロード時には非アクティブです。イベント X がルールをアクティブ化し、Active Correlation Technology エンジンの実行中はアクティブな状態のままになります。
<inactiveWhenLoaded> <never> X Y ルールはロード時には非アクティブです。イベント X がルールをアクティブ化し、イベント Y がルールを非アクティブ化します。このアクティブ化および非アクティブ化は、複数回発生することがあります。
<dateTime> <dateTime>     ルールは指定された日時にアクティブ化され、指定された日時に非アクティブ化されます。
<dateTime> <dateTime> X Y ルールは指定された日時にアクティブ化され、指定された日時に非アクティブ化されます。イベント X がルールをアクティブ化し、イベント Y がルールを非アクティブ化します。イベント X および Y は、ルールを複数回アクティブ化および非アクティブ化できます。
<dateTime> <never>     ルールは指定された日時にアクティブ化され、Active Correlation Technology エンジンの実行中はアクティブな状態のままになります。
<dateTime> <never>   Y ルールは指定された日時にアクティブ化されます。イベント Y がルールを非アクティブ化します。
<dateTime> <never> X Y ルールは指定された日時にアクティブ化されます。イベント Y がルールを非アクティブ化し、イベント X がルールを再アクティブ化します。この非アクティブ化および再アクティブ化は、複数回発生することがあります。
<dateTime> <after>     ルールは指定された日時にアクティブ化され、指定された時間間隔の経過後に非アクティブ化されます。
<dateTime> <after> X Y ルールは指定された日時にアクティブ化され、指定された時間間隔の経過後に非アクティブ化されます。イベント X がルールをアクティブ化し、イベント Y がルールを非アクティブ化します。このアクティブ化および非アクティブ化は、複数回発生することがあります。