本主题包含以下部分:
TimeoutNotification 节点是一个输入节点,可以通过以下两种方式中的一种使用:
TimeoutNotification 节点处理和它成对的 TimeoutControl 节点设置的超时请求消息,并将该消息的副本(或选定的消息片段)传播到消息流中的下一个节点。
以在此节点的配置中指定的时间间隔,将生成的消息传播到消息流中的下一个节点。
TimeoutNotification 节点在工作台中由以下图标表示:
在需要在特定时间和规则的时间间隔发生事件的应用程序的消息流中一起使用 TimeoutControl 节点和 TimeoutNotification 节点。
例如,您可能想要在每天午夜运行批处理作业,或可能想要每小时向银行发送一次关于汇率的信息。
多个 TimeoutControl 节点可与一个 TimeoutNotification 节点配对。这些 TimeoutControl 节点处理的所有超时请求均由同一个 TimeoutNotification 节点处理。如果 TimeoutNotification 节点和每个 TimeoutControl 节点使用同一唯一标识,则会发生这种情况。
请注意,当代理导致启动 TimeoutNotification 节点,或包含该节点的消息流启动时,该节点将扫描它的内部超时存储并清除任何非持久的超时请求。将为立即结束和将 IgnoreMissed 属性设置为 False 的任何持久超时请求发出通知。
如果您使用 TimeoutNotification 节点生成 WebSphere MQ 消息,则必须对输出节点(如 MQOutput)提供有效的 MQMD。如果 TimeoutNotification 节点以自动方式运行(独立使用),则这是必需的。如果 TimeoutNotification 节点以受控方式运行(即,与一个或多个 TimeoutControl 节点成对使用),则仅当存储的消息没有 MQMD 时需要提供它。
CREATE NEXTSIBLING OF OutputRoot.Properties DOMAIN 'MQMD'; SET OutputRoot.MQMD.StrucId = MQMD_STRUC_ID; SET OutputRoot.MQMD.Version = MQMD_CURRENT_VERSION; SET OutputRoot.MQMD.Format = 'XML';因为在本地环境中没有任何 WebSphere MQ 上下文,所以 MQOutput 节点属性消息上下文应该具有缺省值。
有关如何使用超时处理节点的更多详细信息,请查看超时处理样本。
您可以配置消息流中 TimeoutNotification 节点的每个实例。
要配置节点,请在编辑器视图中右键单击该节点并单击属性。将显示节点的基本属性。
唯一标识是唯一的必要属性。它没有缺省值。
通过执行以下操作,配置 TimeoutNotification 节点:
有关更多详细信息,请参阅验证消息和MRM 域中消息的验证属性。
完成配置时,单击应用。这会在不关闭属性对话框的情况下对 TimeoutNotification 节点进行更改。单击确定以应用更改,并关闭属性对话框。单击取消以关闭对话框,并废弃对属性所作的所有更改。
下表中描述了 TimeoutNotification 节点的终端。
终端 | 描述 |
---|---|
Failure | 如果在此节点中进行处理期间检测到故障,则将消息传播到它的输出终端。可以将节点连接到此终端来处理这些故障。如果此终端没有连接到另一个节点,则不会传播消息,并且不会对数据进行任何记录或安全存储。 |
Out | 消息在超时到期后传播到的输出终端。 如果 TimeoutNotification 节点正以自动方式运行(即,没有与此节点成对的 TimeoutControl 节点),则所传播的消息只包含“属性”文件夹和填充了超时信息的 LocalEnvironment。 如果 TimeoutNotification 节点正以 Controlled 方式运行(即,与此节点成对的 TimeoutControl 节点存储超时请求),则所传播的消息包含 TimeoutControl 节点存储的内容;这可能时整个请求消息或其中的一些片段。 请注意,如果如果将 TimeoutNotification 节点作为消息流的输入节点使用,生成 WebSphere MQ 消息(例如通过使用 MQOutput 节点),则消息流必须创建必要的 MQ 头和数据(例如 MQMD)。 |
Catch | 下游抛出异常时将消息传播到的输出终端。如果此终端没有连接到另一个节点,将会发生以下事件:
|
下表描述该节点的属性;标题为 M 的列表示属性是否是必需的(如果在未定义缺省值时必须输入值,则在属性对话框上以星号作标记),标题为 C 的列表示属性是否是可配置的(将消息流添加到 BAR 文件以部署此文件时可以更改该值)。
下表中描述了 TimeoutNotification 节点的基本属性。
属性 | M | C | 缺省值 | 描述 |
---|---|---|---|---|
唯一标识 | 是 | 是 | 无 | 代理中唯一的值,该值与为和此节点成对的 TimeoutControl 节点(如果有的话)指定的标识相同。此标识的最大长度为 12 个字符。 |
事务方式 | 否 | 否 | 是 | 节点的事务方式。它的值可以是是、否或自动。如果事务方式为自动,则事务基于存储消息的持久性,该持久性由与此节点成对的 TimeoutControl 节点的请求持久性属性控制。 |
操作方式 | 否 | 否 | 自动 | 此属性表明此节点是否与 TimeoutControl 节点成对。它的值可以是自动或受控。 |
超时时间间隔 | 否 | 否 | 1 | 超时请求之间的时间间隔(以秒为单位)。它只有在操作方式设置为自动时有关。 |
下表中描述了 TimeoutNotification 节点的验证属性。
请参阅MRM 域中消息的验证属性,以获取这些属性的完整描述。属性 | M | C | 缺省值 | 描述 |
---|---|---|---|---|
验证 | 是 | 是 | 无 | 验证是否发生。有效值为无、内容和内容和值。 |
故障操作 | 是 | 否 | 异常 | 验证失败后将发生什么操作。只有将验证设置为内容或内容和值,才可以设置该属性。有效值为用户跟踪、本地错误日志、异常和异常列表。 |
包含所有值约束 | 是 | 否 | 选中 | 无法编辑此属性。所选的复选框指出的缺省操作,即内容和值验证中包含的基本值约束检查。 |
固定 | 是 | 否 | 无 | 无法编辑此属性。 |
下表中描述了 TimeoutNotification 节点“一般消息选项”的属性。
属性 | M | C | 缺省值 | 描述 |
---|---|---|---|---|
解析计时 | 是 | 否 | 按需解析 | 该属性控制何时解析输入消息。有效值为按需解析、立即解析和完全解析。 请参阅按需解析,获取此属性的完整描述。 |
将 MQRFH2C 压缩解析器用于 MQRFH2 域 | 否 | 否 | False | 该属性控制 MQRFH2 头中是否使用 MQRFH2C 压缩解析器,而不是 MQRFH2 解析器。 |
下表中描述了 TimeoutNotification 节点“XMLNSC 解析器选项”的属性。
属性 | M | C | 缺省值 | 描述 |
---|---|---|---|---|
将 XMLNSC 压缩解析器用于 XMLNS 域 | 是 | 已清除 | 否 | ![]() ![]() |
混合内容保留方式 | 是 | 否 | 无 | 此属性控制当 XMLNSC 解析器遇到输入消息中的混合文本时,是否使用该解析器创建消息树中的元素。有效值为无和全部。选择全部表示为混合文本创建元素。选择无表示忽略混合文本并且不创建元素。 |
注释保留方式 | 是 | 否 | 无 | 此属性控制当 XMLNSC 解析器遇到输入消息中的注释时,是否使用该解析器创建消息树中的元素。有效值为无和全部。选择全部表示为注释创建元素。选择无表示忽略注释并且不创建元素。 |
处理指令保留方式 | 是 | 否 | 无 | 此属性控制当 XMLNSC 解析器遇到输入消息中的处理指令时,是否使用该解析器创建消息树中的元素。有效值为无和全部。选择全部表示为处理指令创建元素。选择无表示忽略处理指令并且不创建元素。 |
下表中描述了 TimeoutNotification 节点的描述属性。
属性 | M | C | 缺省值 | 描述 |
---|---|---|---|---|
简短描述 | 否 | 否 | 节点的简要描述。 | |
详细描述 | 否 | 否 | 描述消息流中节点用途的文本。 |