Java 如何在其他进程写入文件时停止wso2读取文件

Java 如何在其他进程写入文件时停止wso2读取文件,java,linux,wso2esb,Java,Linux,Wso2esb,我正在使用wso2 vfs从in-folder到out-folder进行文件处理。一个进程正在将文件写入in-folder,wso2 esb将其处理并移动到out。 问题是,当文件在“in”文件夹中创建时,wso2会在文件不完整时开始处理。因此,请建议解决方案,使wso2在完成写入后开始读取文件。 我尝试了使用通道锁的文件锁定机制,但它在linux中不起作用。WSO2 ESB中的VFS代理不会看到XXX.YYY文件,只要同一目录中有XXX.yy.lock文件。它适用于所有操作系统所有协议(ftp

我正在使用wso2 vfs从in-folder到out-folder进行文件处理。一个进程正在将文件写入in-folder,wso2 esb将其处理并移动到out。 问题是,当文件在“in”文件夹中创建时,wso2会在文件不完整时开始处理。因此,请建议解决方案,使wso2在完成写入后开始读取文件。
我尝试了使用通道锁的文件锁定机制,但它在linux中不起作用。

WSO2 ESB中的VFS代理不会看到XXX.YYY文件,只要同一目录中有XXX.yy.lock文件。它适用于所有操作系统所有协议(ftp、sftp等):您是否能够配置外部进程来生成这样一个锁文件

另一种解决方案是配置外部进程:

  • 使用在末尾重命名的临时文件
  • 或者在临时文件中写入 文件夹(在同一文件系统上)并将文件移到末尾的“in”文件夹中 ?