计算节点计算来自先前流的数据
Compute Node computes data from previous flow
我的流程是这样的:
File Input -> File Read -> Compute -> Mapping -> Compute -> File Output
从文件读取节点我将数据保存到${LocalEnvironment}
。也试过${Environment}
。这就是计算节点背后发生的事情:
- 发送文件 A - 计算 A 环境中的数据(在回答后编辑 -> 未计算,流程意外停止)。
- 发送文件 B - 计算 A 环境中的数据。
- 发送文件 C - 计算 B 环境中的数据。
- 发送文件 D - 计算 C 环境中的数据。
这种抵消怎么可能? ${LocalEnvironment}
应在流程开始时重置。
编辑:
切勿使用环境变量。局部变量应存储在 $LocalEnvironment/Variables
.
中
知道了。甚至现在我认为我的变量还没有被清除。文件读取仍然从之前的 运行.
产生 $LocalEnvironment/Variables/BLOB/BLOB
EDIT2:*
节点设置:
文件输入:
Input directory: C:\Users\User1\Documents\In
File pattern: *
Action on successful processing: move to mqsiarchive
Message domain: XMLNS (I know it should be XMLNSC but it works)
Use XMLNSC compact parser...: check
文件读取:
Input directory: C:\Users\User1\Documents\In\mqsiarchive
File name or pattern: *
Action: Delete
Request directory property location: $LocalEnvironment/Destination/File/Directory
Request filename property location: $LocalEnvironment/Destination/File/Name
Offset property location: $LocalEnvironment/Destination/File/Offset
Length property location: $LocalEnvironment/Destination/File/Length
Result data location: $ResultRoot
Output data location: $OutputLocalEnvironment/Variables
Copy local environment: check
Record selection expression: true()
计算节点:
Compute mode: LocalEnvironment and Message
文件输出(这个并不重要,因为即使没有它也会出现问题):
Output directory: C:\Users\User1\Documents\Out
Filename or pattern: test.txt
Stage in mqsitransit...: check
Data location: $Body
Request directory property location: $LocalEnvironment/Destination/File/Directory
Request filename property location: $LocalEnvironment/Destination/File/Name
我没有提到的属性:默认值
我认为它是这样工作的:
在 1. 事务中,文件读取节点没有任何可读取的内容,因为存档目录是空的。因此,来自文件输入的消息 A 被处理。
在 2. 事务中,文件读取节点从 1. 事务中找到消息 A。因此消息 B 刚刚被归档,来自文件读取节点的消息 A 被处理(再次)。
我的流程是这样的:
File Input -> File Read -> Compute -> Mapping -> Compute -> File Output
从文件读取节点我将数据保存到${LocalEnvironment}
。也试过${Environment}
。这就是计算节点背后发生的事情:
- 发送文件 A - 计算 A 环境中的数据(在回答后编辑 -> 未计算,流程意外停止)。
- 发送文件 B - 计算 A 环境中的数据。
- 发送文件 C - 计算 B 环境中的数据。
- 发送文件 D - 计算 C 环境中的数据。
这种抵消怎么可能? ${LocalEnvironment}
应在流程开始时重置。
编辑:
切勿使用环境变量。局部变量应存储在 $LocalEnvironment/Variables
.
知道了。甚至现在我认为我的变量还没有被清除。文件读取仍然从之前的 运行.
产生$LocalEnvironment/Variables/BLOB/BLOB
EDIT2:* 节点设置: 文件输入:
Input directory: C:\Users\User1\Documents\In
File pattern: *
Action on successful processing: move to mqsiarchive
Message domain: XMLNS (I know it should be XMLNSC but it works)
Use XMLNSC compact parser...: check
文件读取:
Input directory: C:\Users\User1\Documents\In\mqsiarchive
File name or pattern: *
Action: Delete
Request directory property location: $LocalEnvironment/Destination/File/Directory
Request filename property location: $LocalEnvironment/Destination/File/Name
Offset property location: $LocalEnvironment/Destination/File/Offset
Length property location: $LocalEnvironment/Destination/File/Length
Result data location: $ResultRoot
Output data location: $OutputLocalEnvironment/Variables
Copy local environment: check
Record selection expression: true()
计算节点:
Compute mode: LocalEnvironment and Message
文件输出(这个并不重要,因为即使没有它也会出现问题):
Output directory: C:\Users\User1\Documents\Out
Filename or pattern: test.txt
Stage in mqsitransit...: check
Data location: $Body
Request directory property location: $LocalEnvironment/Destination/File/Directory
Request filename property location: $LocalEnvironment/Destination/File/Name
我没有提到的属性:默认值
我认为它是这样工作的:
在 1. 事务中,文件读取节点没有任何可读取的内容,因为存档目录是空的。因此,来自文件输入的消息 A 被处理。
在 2. 事务中,文件读取节点从 1. 事务中找到消息 A。因此消息 B 刚刚被归档,来自文件读取节点的消息 A 被处理(再次)。