我使用talend从源文件夹拾取文件并传输到目标文件夹,但我只想在文件完全写入源文件夹时拾取文件进行处理,或者在文件主动复制到源文件夹时不拾取文件。
我在尝试将文件从源移动到目标时意识到了这一点。当该文件仍被写入源文件夹时,它显示一个错误消息;文件仍在被另一个进程"使用";然而,我不希望每次运行都触发这个错误,我希望跳过并移动到迭代文件夹中的下一个文件。
我可以在组件之间使用twait或twaitforfile吗?或者添加java代码来处理它,这样"presenttime(sysdate(-filetime(到达文件夹的时间(>时差(比方说大约3-5分钟(";
只有在满足条件时,才能将文件移动到目标文件夹。
请提出处理此问题的最佳有效方法。
在tWaitForFile的高级设置中,您可以选择"WAIT_RELEASE":你可以设置它,当检测到一个文件时,它会在第一个文件后XXXms执行一次2d检查,以确保该文件被释放(这样它就不会被主动复制到存储库中(。当文件被完全复制后,你就可以使用它了。