Parallel processing 并行运行Mule流
在Mule中有两个流,我想并行运行。第一个流应该使用sftp将文件从远程机器传输到本地目录(只要文件在远程目录中不断更新,这个过程就不会停止)。第二个流必须在更新时获取文件中的数据,并通过调用Pentaho-kettle转换/作业将其插入数据库(也可以是连续过程,只要文件不断进入)。然而,当我运行我的流时,它不知何故通过了第一个流,并且只尝试执行第二个流。我怎样才能解决这个问题?这是我的骡子流程:Parallel processing 并行运行Mule流,parallel-processing,mule,kettle,Parallel Processing,Mule,Kettle,在Mule中有两个流,我想并行运行。第一个流应该使用sftp将文件从远程机器传输到本地目录(只要文件在远程目录中不断更新,这个过程就不会停止)。第二个流必须在更新时获取文件中的数据,并通过调用Pentaho-kettle转换/作业将其插入数据库(也可以是连续过程,只要文件不断进入)。然而,当我运行我的流时,它不知何故通过了第一个流,并且只尝试执行第二个流。我怎样才能解决这个问题?这是我的骡子流程: <flow name="flow1"> <sftp:inbound-endp
<flow name="flow1">
<sftp:inbound-endpoint
address="sftp://username:password@ip_ddress:22/path"
responseTimeout="1000" />
<echo-component />
<file:outbound-endpoint path="/path/to/OutputFolder"
responseTimeout="10000"/>
</flow>
<flow name="flow2">
<custom-transformer class="org.transformation.kettle.InvokeMain" />
</flow>
第二个流应该有一个
文件:出站端点
来拾取第一个流丢弃的文件:
<flow name="flow1">
<sftp:inbound-endpoint
address="sftp://username:password@ip_ddress:22/path"
responseTimeout="1000" />
<logger level="INFO"
message="#[message.payloadAs(java.lang.String)]" />
<file:outbound-endpoint path="/path/to/OutputFolder" />
</flow>
<flow name="flow2">
<file:inbound-endpoint path="/path/to/OutputFolder"
fileAge="10000" />
<custom-transformer class="org.transformation.kettle.InvokeMain" />
</flow>
请注意,我已经:
- 用更现代的
取代了超旧的记录器
。我记录了信息有效载荷,我想这是你的意图 - 从
文件:出站端点中删除了无用的
responseTimeout=“10000”
- 在入站文件终结点上设置10秒的
,以防止拾取仍由SFTP入站终结点写入的文件。如果值太大或太小,请调整该值fileAge