我想轮询一个本地目录并将该消息(File)发送到sftp位置。我已经成功地将消息发送到sftp位置,但是Spring文件适配器没有删除源文件。如何使spring集成文件入站适配器删除本地源文件。
发布于 2022-10-21 09:49:34
文件入站通道适配器上没有这样的选项,因为我们不能无条件地删除文件-它们的内容可能需要下游,这可能发生在与轮询程序完全不同的线程上。
我们建议使用一个简单的File.delete()
执行作为服务激活逻辑下游的SFTP传输通道适配器。
如果有一个PublishSubscribeChannel
作为您的SftpMessageHandler
订阅服务器的输入,并添加另一个这样简单的输入,可能会更好:
@ServiceActivator(inputChannel = "sftpChannel")
public void deleteLocalFile(File payload) {
payload.delete();
}
https://stackoverflow.com/questions/74147970
复制