RouteToLabel 节点

本主题包含以下部分:

用途

将 RouteToLabel 节点与一个或多个 Label 节点结合使用,根据消息内容动态确定消息通过消息流采用的路由。RouteToLabel 节点询问消息的 LocalEnvironment 以确定消息要路由到的 Label 节点的标识。

必须将 Compute 节点置于消息流内的 RouteToLabel 节点前,该 Compute 节点用一个或多个 Label 节点的标识填充消息的 LocalEnvironment,这些标识介绍了消息的下一个处理序列。目的地设置为特定位置中 LocalEnvironment 树内的标签名的列表。该 Airline 保留样本(如下链接)的 ESQL 摘录提供了如何在 Compute 节点中设置 LocalEnvironment 内容的示例:

IF InputRoot.XML.PassengerQuery.ReservationNumber<>'' THEN
   SET OutputLocalEnvironment.Destination.RouterList.DestinationData[1].labelname='SinglePassenger';
         ELSE
   SET OutputLocalEnvironment.Destination.RouterList.DestinationData[1].labelname='AllReservations';
END IF;

标签名可以是任何字符串值,并可以在 Compute 节点中明确指定、从消息中的任何字段采用或进行类型强制转换,或者从数据库检索。LocalEnvironment 中的标签名必须与相应的 Label 节点的标签名属性相匹配。

当您配置 Compute 节点时,还必须从包含 LocalEnvironment 的下拉列表为计算方式属性选择值。

设计您的消息流,以使消息流内 RouteToLabel 节点逻辑上置于一个或多个 Label 节点前,但不会实际将 RouteToLabel 节点和 Label 节点联结在一起。需要时按照 LocalEnvironment 的内容由代理完成连接。

RouteToLabel 节点在工作台中由以下图标表示:

RouteToLabel 节点图标

在消息流中使用此节点

查看以下样本,了解如何使用此节点:

配置 RouteToLabel 节点

当您将 RouteToLabel 节点的实例放入消息流后,便可对它进行配置。右键单击编辑器视图中的节点,然后单击属性。 将显示该节点的基本属性。

对于必须为其输入值的所有必需属性(没有定义缺省值的属性),在属性对话框上都会用星号作标记。

如下所示配置 RouteToLabel 节点:

  1. 设置方式。这定义 RouteToLabel 节点如何从与消息关联的 LocalEnvironment 除去目的地。您可以选择以下两个值之一:
    • 路由到第一个从 LocalEnvironment 中除去第一项。当前消息路由到在该列表项中标识的 Label 节点。
    • 路由到最后一个(缺省值),从 LocalEnvironment 除去最后一项。当前消息路由到在该列表项中标识的 Label 节点。
  2. 选择属性对话框导航器中的“描述”,以输入简短描述和/或详细描述。
  3. 单击应用在不关闭“属性”对话框的情况下对 RouteToLabel 节点进行更改。单击确定以应用更改,并关闭属性对话框。

    单击取消以关闭对话框,并废弃对属性所作的所有更改。

终端和属性

在以下表中描述了 RouteToLabel 节点终端。

终端 描述
In 接受供节点处理的消息的输入终端。
Failure 如果在处理期间检测到故障,则这就是消息路由到的输出终端。

下表描述该节点的属性;标题为 M 的列表示属性是否是必需的(如果在未定义缺省值时必须输入值,则在属性对话框上以星号作标记),标题为 C 的列表示属性是否是可配置的(将消息流添加到 BAR 文件以部署此文件时可以更改该值)。

下表描述 RouteToLabel 节点的“基本”属性。

属性 M C 缺省值 描述
方式 路由到最后一个 RouteToLabel 节点如何处理与当前消息关联的 LocalEnvironment 中的项。

下表描述 RouteToLabel 节点的“描述”属性。

属性 M C 缺省值 描述
简短描述   节点的简要描述。
详细描述   描述消息流中节点用途的文本。
声明 | 商标 | 下载 | 书库 | 支持 | 反馈
Copyright IBM Corporation 1999, 2006 最后一次更新时间:2006/08/14
ac04820_