我是Mule4的新手,并且是第一次使用它。我正在尝试将文件从一个目录移动到另一个目录。我有一个“读取文件”连接器和“写入文件”连接器。在读取连接器中,我指定了文件路径和工作目录。在写连接器上,我还指定了工作目录和路径。但是,该文件不会从源目录移动到目标目录。但是,如果我在流程的开头添加了HTTP侦听器,那么当我通过http://localhost:8081访问它时,它将起作用。但是我想知道只要源文件中有一个新文件怎么办,所以流程自动将文件从源文件移到目标目录?请查看屏幕截图
答案 0 :(得分:3)
您需要一些东西来触发流程的运行。 Future<Map<String, dynamic>> getData() async {
...
}
不会自动执行此操作,因此http请求触发对您有效。
所有流都需要一个“源”来触发它们,除非您使用file:read
从其他流中调用它们(或使用lookup()从dataweave中调用它们)。
如果知道所需的确切文件,则可以将调度程序放在flow-ref
之前以触发流:
file:read
或者您可以使用file:listener直接侦听目录等中的新文件作为源:
<scheduler>
<scheduling-strategy>
<fixed-frequency startDelay="5" frequency="10" timeUnit="SECONDS"/>
</scheduling-strategy>
</scheduler>
您可以使用固定频率或cron。此处有更多详细信息:https://docs.mulesoft.com/mule-runtime/4.1/scheduler-xml-reference