<activationInterval> 元素包含一些元素,它们用于定义:规则何时处于活动,何时处于不活动状态。
可在离 散时间点上激活或停用规则,或者由特定事件对其进行激活或停用。
如果将规则指定为在离散时间点上以及由特定事件进行激活或停用,则该规则将在该时间点或在接收到事件时(取决于哪个发生在先)被激活或停用。然而在该情况下,在该规则的生命周期内可能由多个事件对其进行激 活或停用。例如,规则可能由某个事件激活,然后被停用,接着在某个定义的时间点上被激 活,然后再次被停用,随后再由另一个事件激活。
<activationInterval> 无属性。
<activationInterval> 包含以下元素。
必须将这些元素按所显示的顺序进行编码。如果某个元素为可选元素,则可以不对其进行编码,但所有已编码的元素都必须按照正确的顺序。
元素 | 必需或可选? |
---|---|
<activationTime> | 可选。允许出现 0 或 1 次。 |
<activateOnEvent> | 可选。允许出现 0 或 1 次。 |
<deactivateOnEvent> | 可选。允许出现 0 或 1 次。 |
<activationByGroupingKey> | 可选。允许出现 0 或 1 次。 |
包含于 <activationTime> 元素 中的 <start> 和 <stop> 元素是用于激活和停用规则的静态方法。通过这些元素,将在 某个离散时间点上激活或停用某个规则。与此相反,<activateOnEvent> 和 <deactivateOnEvent> 元素是用于激活和停用规则的动态方法。通过这些元素,将在发生某 个事件的情况下激活或停用某个规则。例如,如果某个规则尚未处于活动状态,则符合为 <activateOnEvent> 元素定义的条件的任何事件都将激活该规则。如果某个规则尚未处 于不活动状态,则符合为 <deactivateOnEvent> 元素定义的条件的任何事件都将停用 该规则。因此,某些事件可更改关于何时激活或停用规则的静态定义。
如果没有编写 <start> 元素,则缺省开始时间与 <whenLoaded> 元素定义的时间相同。
如果没有编写 <stop> 元素,则缺省停止时间与 <never> 元素定义的时间相同。
<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 将停用该规则。事件 X 和 Y 可多次激 活和停用规则。 |
<dateTime> | <never> | 规则将在指定的日期和时间被激活,并在活动关联技术引擎运行 时保持活动状态。 | ||
<dateTime> | <never> | Y | 规则将在指定的日期和时间被激活。事件 Y 将停用规则。 | |
<dateTime> | <never> | X | Y | 规则将在指定的日期和时间被激活。事件 Y 将停用规则, 而事件 X 将重新激活规则。该停用和重新激活可多次进行。 |
<dateTime> | <after> | 规则将在指定的日期和时间被激活,并在指定的时间间隔之后被停用。 | ||
<dateTime> | <after> | X | Y | 规则将在指定的日期和时间被激活,并在指定的时间间隔之后被停用。事件 X 将激活该规则, 而事件 Y 将停用该规则。该激活和停用可多次进行。 |