使用 LocalEnvironment 中的暂存区

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

更新开始在 LocalEnvironment 的暂存区中创建您自己的数据的好处是,可以将此数据作为逻辑树的一部分传播到消息流中的后续节点。如果在 Compute 节点中创建新的输出消息,您还可以在新输出消息中包含来自输入消息的全部或部分 LocalEnvironment 树。更新结束

更新开始要确保 LocalEnvironment 中的信息能够传播到流的核心,必须将 Copmute 节点的计算机方式属性设置为输出树必须包含 LocalEnvironment(例如,指定 LocalEnvironment 和消息)。有关计算方式的更多详细信息,请参阅设置方式更新结束

然而,如果消息通过消息流流回(例如,如果抛出异常),则不会保留您在一个节点中更新或添加的所有数据。如果您创建自己的数据,并希望在整个消息流中保留该数据,则必须使用 Environment 树。

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

更新开始由于 LocalEnvironment 不在 Compute 节点的范围内,因此必须改用 InputLocalEnvironmentOutputLocalEnvironment更新结束

更新开始例如,您可以使用 LocalEnvironment 中的便条将输出消息的目标传播到消息流中的后续节点。第一个 Compute 节点确定该消息流的输出消息必须传送到 WebSphere MQ 队列。 请包含以下 ESQL,以通过设置 OutputLocalEnvironment 中的 OutputLocation 值,将该信息插入到 LocalEnvironment:
SET OutputLocalEnvironment.Variables.OutputLocation = 'MQ';
更新结束
更新开始第二个 Compute 节点可以从它的输入消息访问此信息。在此节点的 ESQL 中,使用相关名 InputLocalEnvironment 来标识包含此数据的输入消息内的 LocalEnvironment 树。以下 ESQL 使用 InputLocalEnvironment 将 queueManagerNamequeueName 设置为基于 LocalEnvironment 的 OutputLocation 的内容:
IF InputLocalEnvironment.Variables.OutputLocation = 'MQ' THEN
   SET OutputLocalEnvironment.Destination.MQ.DestinationData.queueManagerName = 'myQManagerName';
   SET OutputLocalEnvironment.Destination.MQ.DestinationData.queueName = 'myQueueName';
END IF;
更新结束

更新开始在示例中,queueManagerNamequeueName 是为输出消息中的目标子树设置的。第二个 Comupte 节点的计算方式必须设置为在输出消息中包含 LocalEnvironment 树。通过将属性目的地方式设置为目标列表,将 MQOutput 节点配置为使用您在 LocalEnvironment 树中创建的目标列表。更新结束

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

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