入站 sftp 通道适配器文件锁定问题

inbound sftp channel adapter file locking issue

我正在使用带有自定义远程过滤器的 sftp 入站通道适配器。如果过滤器接受该文件,那么它会在稍后处理并被删除,因为我为远程删除设置了 属性 "true"。

现在,当我的文件未成功处理并抛出异常时,我捕获了该异常并想将本地下载文件移动到其他地方,但是当我使用 FileUtils.forceDelete 这样做时,它抛出了异常

java.io.IOException: 无法删除文件:

看起来其他线程已锁定此文件。有什么办法我们可以找出谁拥有锁以及如何释放它,以便我的听众可以将它移动到 diff 位置。

not processed successfully and throws exception

确保在 finally 块中关闭文件,这样您的处理逻辑将始终关闭文件。