2016-08-05 2 views
0

リモートディレクトリからファイルをダウンロードするには、int-sftp:inbound-channel-adapterを使用します。Spring統合:int-sftp:インバウンドチャネルアダプタ:ソースフォルダが空であるかどうかを確認する方法

リモートディレクトリが空であるかどうかを確認したいので、タイムアウト後にダウンロードおよびシャットダウンアプリケーションを停止します。

リモートディレクトリが空であることを確認する方法とタイムアウトを使用する方法は?

私のソースコード:

<int-sftp:inbound-channel-adapter id="sftpInbondAdapter" 
auto-startup="true" channel="receiveChannel" session-factory="sftpSessionFactory" 
local-directory="file:${directory.files.local}" remote-directory="${directory.files.remote}" 
auto-create-local-directory="true" delete-remote-files="true" 
filename-pattern="*.txt" > 
<int:poller 
max-messages-per-poll="-1" error-channel="sftp.in.error.channel"/> 

</int-sftp:inbound-channel-adapter> 

おかげ

答えて

0

リモートフォルダが空の兆候は現在ありません。

代わりに発信ゲートウェイを使用するほうが簡単かもしれません。

lsコマンドを使用してファイルを一覧表示するように構成し、別のファイルをget(またはmget)に設定することができます。

+0

私は2つのアウトバウンドゲートウェイを使用しています。 – NAZEHA

+0

ディレクトリ "ls"を持つアウトバウンドゲートウェイを使用してディレクトリが空であることを確認してから、sftpインバウンドアダプタでファイルをダウンロードできますか? – NAZEHA

+0

各ゲートウェイは1つのコマンドを処理します(ドキュメントを参照)(http://docs.spring.io/spring-integration/reference/html/sftp.html#sftp-outbound-gateway)。はい。 'auto-startup'をfalseに設定し、ディレクトリの内容に基づいて、アダプタを' start() 'するか、コントロールバスを使うか、直接参照を取得することができます。 –

関連する問題