【发布时间】:2016-12-02 23:42:53
【问题描述】:
是 Spring 的新手,可以使用一些帮助来弄清楚如何正确地将 sftp 出站网关与文件出站网关链接在一起。我想确认一个文件已经 sftp'ed,然后将它移动到存档位置。
基本上,我有一个目录,文件被发送到其他地方进行 sftp 处理。在文件被传输之后,文件应该被移动到存档目录。
每个代码段独立工作,但当我尝试连接两者时失败。我无法正常使用回复通道,因为回复通道确认文件已远程保存到何处,并且 .msg 已移至存档目录。
我怀疑订单并没有像我想的那样做。
目前,文件在 90% 的时间里移动到存档目录,而不是对文件进行 sftping。
这可能吗,还是我只是在吠叫错误的树?有没有办法配置 sftp:outbound-gateway 下游,或者我应该尝试使用不同的方法?
<!-- START: SFTP files-->
<int-file:inbound-channel-adapter
directory="file:${sftp.repo}"
channel="SFTPchannel"
prevent-duplicates="false"
ignore-hidden="true" />
<int-sftp:outbound-gateway
session-factory="SFTPFactory"
request-channel="SFTPchannel"
order="1"
command="mput"
command-options="-1"
expression="payload"
mode="REPLACE"
use-temporary-file-name="false"
remote-filename-generator="filenameGenerator"
auto-create-directory="false"
remote-directory="${sftp.remote.destination}"/>
<int-file:outbound-gateway
request-channel="SFTPchannel"
order="2"
directory-expression="'${repository.directory}/'+new java.text.SimpleDateFormat('yyyyMMdd').format(new java.util.Date())"
mode="REPLACE"
auto-create-directory="true"
filename-generator="filenameGenerator"
delete-source-files="true"
reply-channel="nullChannel" />
<!-- END: SFTP files-->
【问题讨论】: