activationInterval 元素

<activationInterval> 元素包含的元素會定義規則何時處於作用中及不作用中狀態。

詳細資訊

規則可以在離散的時間點上或者依特定事件啟用或停用。

如果您指定規則在離散的時間點上 依特定事件啟用或停用,則會根據最先發生的是時間點或事件的接收,來啟用或停用該規則。然而,在此情況下,規則在其整個生命週期中可能會被多個事件啟用或停用。例如,規則可能依事件啟用、停用、在定義的時間點上啟用、再停用,然後依其他事件啟用。

在企業環境中,您可能要在接收到指示企業股票交換已開始的事件時啟用規則。在 IT 環境中,您可能要在 2005 年 10 月 29 日 06:00 啟動維護視窗,並根據下列最先發生的狀況來結束它:
  • 2005 年 10 月 30 日 11:30
  • 接收到指示維護工作已完成的事件時

屬性

<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>     規則載入時處於作用中狀態,而且會在「主動式相互關聯技術」引擎正在執行時保留作用中狀態。
<whenLoaded> <never>   Y 規則載入時處於作用中狀態。事件 Y 會停用該規則。
<whenLoaded> <never> X Y 規則載入時處於作用中狀態。事件 Y 會停用該規則, 而事件 X 會重新啟用它。停用及重新啟用可以發生多次。
<whenLoaded> <after>     規則載入時處於作用中狀態,而且會在指定的時間間隔之後停用。
<whenLoaded> <dateTime>     規則載入時處於作用中狀態,而且會在指定的日期及時間停用。
<inactiveWhenLoaded> <never> X   規則載入時處於不作用狀態。事件 X 會啟用該規則,而且會在「主動式相互關聯技術」引擎正在執行時保留作用中狀態。
<inactiveWhenLoaded> <never> X Y 規則載入時處於不作用狀態。事件 X 會啟用該規則, 而事件 Y 會停用它。啟用及停用可以發生多次。
<dateTime> <dateTime>     規則是在指定的日期及時間啟用,並在指定的日期及時間停用。
<dateTime> <dateTime> X Y 規則是在指定的日期及時間啟用,並在指定的日期及時間停用。事件 X 會啟用該規則, 而事件 Y 會停用它。事件 XY 可以多次啟用及停用該規則。
<dateTime> <never>     規則是在指定的日期及時間啟用,而且會在「主動式相互關聯技術」引擎正在執行時保留作用中狀態。
<dateTime> <never>   Y 在指定的日期及時間啟用規則。事件 Y 會停用該規則。
<dateTime> <never> X Y 在指定的日期及時間啟用規則。事件 Y 會停用該規則, 而事件 X 會重新啟用它。停用及重新啟用可以發生多次。
<dateTime> <after>     規則是在指定的日期及時間啟用,並在指定的時間間隔之後停用。
<dateTime> <after> X Y 規則是在指定的日期及時間啟用,並在指定的時間間隔之後停用。事件 X 會啟用該規則, 而事件 Y 會停用它。啟用及停用可以發生多次。