如何使用 int-ftp:outbound-gateway 获取文件并从服务器中删除(如果存在)?
how to get file with int-ftp:outbound-gateway and remove from server if exists?
感谢关注
我使用 int-ftp:outbound-gateway
和 mget
命令,如果从服务器检索的文件存在于本地目录中,我想在从服务器检索文件时抛出以下异常:
org.springframework.messaging.MessagingException: Local file .\backup\a\in\a.in already exists
适配器代码是:
<int-ftp:outbound-gateway id="gatewayGET"
local-directory-expression="'./backup/' +#remoteDirectory"
session-factory="ftpSessionFactory"
request-channel="toGet"
reply-channel="toRemoveChannel"
command="mget"
command-options="-R"
expression="payload.remoteDirectory + '/' + payload.filename"/>
谢谢你的帮助。
当前无法忽略本地已存在文件的错误,请打开一个new feature JIRA issue,我们可以为网关添加一个选项。
与此同时,我能想到的一种解决方法是 mget
它们到一个临时目录并使用文件出站通道适配器将文件 "move" 到最终目录 - 它有一个覆盖(替换)任何现有文件的选项,同时删除临时文件。
或者,您可以使用 LS 获取文件名,将其删除,然后然后执行 mget。
感谢关注
我使用 int-ftp:outbound-gateway
和 mget
命令,如果从服务器检索的文件存在于本地目录中,我想在从服务器检索文件时抛出以下异常:
org.springframework.messaging.MessagingException: Local file .\backup\a\in\a.in already exists
适配器代码是:
<int-ftp:outbound-gateway id="gatewayGET"
local-directory-expression="'./backup/' +#remoteDirectory"
session-factory="ftpSessionFactory"
request-channel="toGet"
reply-channel="toRemoveChannel"
command="mget"
command-options="-R"
expression="payload.remoteDirectory + '/' + payload.filename"/>
谢谢你的帮助。
当前无法忽略本地已存在文件的错误,请打开一个new feature JIRA issue,我们可以为网关添加一个选项。
与此同时,我能想到的一种解决方法是 mget
它们到一个临时目录并使用文件出站通道适配器将文件 "move" 到最终目录 - 它有一个覆盖(替换)任何现有文件的选项,同时删除临时文件。
或者,您可以使用 LS 获取文件名,将其删除,然后然后执行 mget。