使用Mule4阅读连接器读取文件

问题描述 投票:1回答:1

我很新的Mule4和使用它的第一次。我试图从一个目录文件移动到另一个。我有一个“阅读文件”连接器和“写入文件”连接器。在读取连接器,我指定的文件路径和工作目录。写连接器上,我还指定了工作目录和路径。但是,该文件不会从源移动到目标目录。但是,如果我在流的开头添加一个HTTP监听器,那么它会如果我通过http://localhost:8081访问它。但我想知道我怎么能做到这一点,每当有源一个新的文件,所以流量自动从源移动文件到目标目录?请看截图

This Flow doesn't work

This flow works

mule mule-esb
1个回答
3
投票

你需要的东西来触发运行流程。 file:read不这样做自动,这就是为什么HTTP请求来触发你的作品。

所有的流需要一个“源”触发它们,除非你是从其他流量使用flow-ref打电话给他们(或dataweave使用查找())。

如果你知道你想要的那么确切的文件,你可以把你的调度之前file:read触发流程:

<scheduler>
  <scheduling-strategy>
    <fixed-frequency startDelay="5" frequency="10" timeUnit="SECONDS"/>
  </scheduling-strategy>
</scheduler>

或者你可以使用一个文件:监听器来监听在一个目录等直接作为源的新文件:

<flow name="onNewFile">
  <file:listener config-ref="file" directory="test-data/in" autoDelete="true">
    <scheduling-strategy>
      <fixed-frequency frequency="1000"/>
    </scheduling-strategy>
  </file:listener>
  ...
</flow>

您可以使用固定频率或cron的。更多细节在这里:https://docs.mulesoft.com/mule-runtime/4.1/scheduler-xml-reference

© www.soinside.com 2019 - 2024. All rights reserved.