Spring的新手,可以使用一些帮助来弄清楚如何正确地将sftp出站网关与文件出站网关链接在一起。我想确认一个文件有sftp'ed,然后将其移动到存档位置。
基本上,我有一个目录,其中文件被发送到其他地方的sftp。然后,在文件传输完毕后,该文件将被移动到Archive目录。
每个代码段独立工作,但在尝试连接两个代码时失败。我无法使用通常的回复通道,因为回复通道确认文件已远程保存到何处,并且.msg已移至归档目录。
我怀疑订单不符合我的想法。
目前,文件将90%的时间移动到存档目录,而不会删除文件。
这可能,或者我只是在咆哮错误的树?有没有办法配置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-->