春の新機能で、sftpアウトバウンドゲートウェイをファイルアウトバウンドゲートウェイと正しく連結する方法を理解する上で役立つ可能性があります。私はファイルがsftpされていることを確認し、それをアーカイブの場所に移動したい。春SFTP&ファイルアウトバウンドゲートウェイチェーン
本質的に、私はファイルがどこか別の場所にsftpするために送られるディレクトリを持っています。ファイルは、ファイルが転送された後、アーカイブディレクトリに移動されるはずです。
各コードは独立して動作しますが、2つのコードを接続しようとすると失敗します。返信チャンネルは、ファイルがリモートに保存された場所を確認し、.msgがアーカイブディレクトリに移動されるため、通常は返信チャンネルを使用できません。
私はそれがそうするとは思わないと思う。
現在のところ、ファイルはsftpingせずに、アーカイブディレクトリに90%移動します。
これは可能ですか、間違ったツリーを吠えますか? sftp:outbound-gateway downstreamを設定する方法はありますか?あるいは別の方法を試してみるべきですか?
<!-- 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-->
こんにちはゲイリー、非常に便利です。フォローアップ: 値にファイル名ジェネレータを使用して、アーカイブするファイルのファイル名を生成することはできますか? $ {archive.dir}/'+ new java.text.SimpleDateFormat(' $ {repository.directory}/$ {archive.dir} ') '12' – HungryandConfused
コメントにcode/configを入れないでください。あなたが見ることができるように、それは事実上判読できません。代わりに質問を編集してください。また、SOは回答に関するコメントを好きではありません。一般的に、新しい質問としてフォローアップを依頼し、この質問を参照する必要があります。あなたは何でもできます。それはSpELです - [Spring Reference](http://docs.spring.io/spring-framework/docs/current/spring-framework-reference/html/expressions.html)を参照してください。 SpELで可能なより洗練された何かをしたいのであれば、コンポーネントを 'successChannel'と' failureChannel'の下流に追加するだけです。 –