使用 LocalEnvironment 中的暂存区

LocalEnvironment 树包含一个称为 Variables 的子树。总是会创建它,但从不由消息流填充。您可以将此区域用于自己的用途,例如将信息从一个节点传递到另一个节点。您可以选择在 LocalEnvironment 树中创建其他子树。

在 LocalEnvironment 的暂存区中创建您自己的数据的好处是,可以将此数据作为逻辑树的一部分传播到消息流中的后续节点。如果在 Compute 节点中创建新的输出消息,您还可以在新输出消息中包含来自输入消息的全部或部分 LocalEnvironment 树。如果要这样做,必须将 Compute 节点的计算方式属性设置为包含 LocalEnvironment 作为输出树的一部分(例如,指定所有)。(您还将在输出消息中包括 ExceptionList 树。请参阅 Compute 节点获取有关计算方式的更多详细信息。)

然而,如果消息通过消息流流回(例如,当抛出异常或通过 FlowOrder 节点的第二个终端处理消息时),则您在一个节点中进行的任何数据更新或增补都不会保留。如果您创建自己的数据,并希望在整个消息流中保留该数据,则必须使用 Environment 树。

您可以设置 Compute 节点中 Variables 子树中的值,针对在您配置该消息流时确定的某些用途,稍后另一个节点(Compute、Database 或 Filter)将使用这些值。

例如,您可能用此来确定输出消息的目标。第一个 Compute 节点可以通过某种方式确定来自此消息流的输出消息必须转至 WebSphere MQ 队列。请包括以下 ESQL,将此信息插入到消息中的 LocalEnvironment 暂存区中,Compute 节点将把此消息发送到消息流中的下一个节点:
SET OutputLocalEnvironment.Variables.OutputLocation = 'MQ';

第二个 Compute 节点可以从它的输入消息访问此信息。在此节点的 ESQL 中,使用相关名 InputLocalEnvironment 来标识包含此数据的输入消息内的 LocalEnvironment 树。对计算方式进行设置,在输出消息中包含 LocalEnvironment 树,并将数据从 InputLocalEnvironment 复制到输出消息中的 Destination 子树。通过将目标方式设置为目标列表,将 MQOutput 节点配置为使用您在 LocalEnvironment 树中创建的目标列表。

有关 DestinationData 子树中元素的完整列表的信息,请参阅 DestinationData 子树中元素的数据类型

相关概念
消息流概述
LocalEnvironment 树
ESQL 概述
相关任务
设计消息流
相关参考
Compute 节点
Database 节点
Filter 节点
DestinationData 子树中元素的数据类型
ESQL 引用
SET 语句
声明 | 商标 | 下载 | | 支持 | 反馈
Copyright IBM Corporation 1999, 2006 最后更新:2006/05/19
ac16870_