发送超时请求消息

要设置受控超时,请将具有一组知名名称的元素的消息发送到 TimeoutControl 节点。 这些元素用于控制所要创建或删除的超时的属性。

元素和格式

以下示例显示了超时请求消息的元素和格式,从而显示周知名称和允许的值。

<TimeoutRequest>
  <Action>SET | CANCEL</Action>
  <Identifier>String (any alphanumeric string)</Identifier>
  <StartDate>String (TODAY | yyyy-mm-dd)</StartDate>
  <StartTime>String (NOW | hh:mm:ss)</StartTime>
  <Interval>Integer (seconds)</Interval>
  <Count>Integer (greater than 0 or -1)</Count>
  <IgnoreMissed>TRUE | FALSE</IgnoreMissed>
  <AllowOverwrite>TRUE | FALSE</AllowOverwrite>
</TimeoutRequest>

消息字段

下表描述消息中的字段。 标题为 M 的列指出属性是否为必需,而标题为 C 的列指示属性是否可配置。

属性 M C 缺省 描述
操作 将此元素设置为 SET 或 CANCEL。 如果省略此元素或将其设为其他值,将生成错误。 如果将其设置为 CANCEL,需要的唯一其他元素是 Identifier(必须与要取消的 TimeoutRequest 的 Identifier 匹配)。
标识 输入任意字母数字字符串。 省略此元素会生成错误。
StartDate TODAY 将此元素设置为 TODAY 或 yyyy-mm-dd 格式的日期。 缺省值为 TODAY。
StartTime NOW 将此元素设置为 NOW 或以 hh:mm:ss 格式指定的某个未来时间。 缺省值为 NOW。 StartTime 假定为集成节点的本地时间。

可以通过将时间间隔与当前时间相加来计算开始时间。 如果计算开始时间的节点与 TimeoutControl 节点之间发生延迟,那么消息中的开始时间将在到达 TimeoutControl 节点时过去。 如果开始时间超过过去大约 5 分钟,那么将发出警告,并且 TimeoutControl 节点将拒绝超时请求。 如果开始时间已经过去不足五分钟,那么该节点将像请求是即时请求一样对其进行处理。 因此,请确保超时请求消息中的开始时间是现在或未来的时间。

Interval 0 将此元素设置为表示消息传播间隔秒数的整数。 缺省值为 0。
Count 1 将此元素设置为大于 0 或等于 -1 (表示超时请求永不过期)的整数值。 缺省值为 1。
IgnoreMissed TRUE 通过将此元素设置为 TRUE 或 FALSE,可以控制集成节点或超时通知流停止时发生的超时是否在该集成节点或超时通知流下次启动时处理。 缺省值为 TRUE ,这意味着 TimeoutNotification 节点在启动集成节点或消息流时将忽略错过的超时。 如果此值设置为 FALSE ,那么在启动流时, TimeoutNotification 节点将立即处理所有错过的超时。

必须将 TimeoutControl 节点的 请求持久性 属性设置为 自动 (原始请求消息为持久消息) ,以便存储的超时在集成节点重新启动或超时通知流之后持久存在。

AllowOverwrite N N TRUE 将此元素设置为 TRUE 或 FALSE 以控制具有匹配的 Identifier 的后续超时请求是否可以覆盖此超时请求。 缺省值为 TRUE。

TimeoutControl 节点如何使用这些值

TimeoutControl 节点上的 Request Location 设置为 InputRoot.XML.TimeoutRequest 以读取这些属性。 如果要从消息中的另一部分中获取属性,请指定这些属性的父元素的相应关联名。 父元素的关联名可能在局部环境中。

有关 TimeoutControl 如何使用这些值的详细信息,请参阅 TimeoutControl 节点