LocalEnvironment 树包含一个称为 Variables 的子树。始终会创建它,但从不由消息流填充它。您可以使用此区域,例如将信息从一个节点传递到另一个节点。您可以选择在 LocalEnvironment 树中创建其他子树。
在 LocalEnvironment 的暂存区中创建您自己的数据的好处是,可以将此数据作为逻辑树的一部分传播到消息流中的后续节点。如果在 Compute 节点中创建新的输出消息,您还可以在新输出消息中包含来自输入消息的全部或部分 LocalEnvironment 树。
要确保 LocalEnvironment 中的信息能够传播到流的核心,必须将 Copmute 节点的计算机方式属性设置为输出树必须包含 LocalEnvironment(例如,指定 LocalEnvironment 和消息)。有关计算方式的更多详细信息,请参阅设置方式。
然而,如果消息通过消息流流回(例如,如果抛出异常),则不会保留您在一个节点中更新或添加的所有数据。如果您创建自己的数据,并希望在整个消息流中保留该数据,则必须使用 Environment 树。
您可以设置 Compute 节点的 Variables 子树中的值,针对您配置该消息流时确定的某些用途,稍后另一个节点(Compute、Database 或 Filter)将使用这些值。
由于 LocalEnvironment 不在 Compute 节点的范围内,因此必须改用 InputLocalEnvironment 和 OutputLocalEnvironment。
SET OutputLocalEnvironment.Variables.OutputLocation = 'MQ';
IF InputLocalEnvironment.Variables.OutputLocation = 'MQ' THEN SET OutputLocalEnvironment.Destination.MQ.DestinationData.queueManagerName = 'myQManagerName'; SET OutputLocalEnvironment.Destination.MQ.DestinationData.queueName = 'myQueueName'; END IF;
在示例中,queueManagerName 和 queueName 是为输出消息中的目标子树设置的。第二个 Comupte 节点的计算方式必须设置为在输出消息中包含 LocalEnvironment 树。通过将属性目的地方式设置为目标列表,将 MQOutput 节点配置为使用您在 LocalEnvironment 树中创建的目标列表。
有关 DestinationData 子树中元素的完整列表的信息,请参阅 DestinationData 子树中元素的数据类型。