Spring 春天&;文件出站网关链
Spring新手,可能需要一些帮助来了解如何正确地将sftp出站网关与文件出站网关链接在一起。我想确认一个文件已被sftp'ed,然后将其移动到存档位置 本质上,我有一个目录,文件被发送到其他地方进行sftp。然后,在传输文件后,应该将文件移动到存档目录 每个代码段都是独立工作的,但是当我尝试连接这两个代码段时失败了。我无法使用通常使用的回复通道,因为回复通道确认文件已远程保存到何处,并且.msg已移动到存档目录 我怀疑这个命令并不像我想的那样 目前,该文件90%的时间都会移动到归档目录,而不会对该文件进行SFTP 这是可能的,还是我找错了方向?有没有办法配置sftp:出站网关下游,或者我应该尝试使用其他方法Spring 春天&;文件出站网关链,spring,spring-integration,Spring,Spring Integration,Spring新手,可能需要一些帮助来了解如何正确地将sftp出站网关与文件出站网关链接在一起。我想确认一个文件已被sftp'ed,然后将其移动到存档位置 本质上,我有一个目录,文件被发送到其他地方进行sftp。然后,在传输文件后,应该将文件移动到存档目录 每个代码段都是独立工作的,但是当我尝试连接这两个代码段时失败了。我无法使用通常使用的回复通道,因为回复通道确认文件已远程保存到何处,并且.msg已移动到存档目录 我怀疑这个命令并不像我想的那样 目前,该文件90%的时间都会移动到归档目录,而不会
<!-- 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-->
请参阅,尤其是其中的。它涵盖了您的确切用例。你好,Gary,非常有用。跟进:是否可以在值中使用文件名生成器来生成要存档的文件的文件名?`(不要将代码/配置放在注释中;因为您可以看到它实际上不可读;请改为编辑问题。另外,由于您不喜欢答案上的扩展注释,您通常应该将后续问题作为新问题进行提问,并参考此问题。您可以做任何您想做的事情;这是SpEL-请参阅。如果您想做一些比可能更复杂的事情,请参阅。)在SpEL中,只需在successChannel
和failureChannel
的下游添加组件即可。