リモートファイル情報
バージョン 5.2 以降、FtpStreamingMessageSource
(FTP ストリーミング受信チャネルアダプター)、FtpInboundFileSynchronizingMessageSource
(FTP 受信チャネルアダプター)、FtpOutboundGateway
(FTP 送信ゲートウェイ)の -commands の「読み取り」は、リモートファイルに関する情報を生成する追加のヘッダーをメッセージに提供します。
FileHeaders.REMOTE_HOST_PORT
- ファイル転送操作中にリモートセッションが接続された host:port ペア。FileHeaders.REMOTE_DIRECTORY
- 操作が実行されたリモートディレクトリ。FileHeaders.REMOTE_FILE
- リモートファイル名。単一ファイル操作にのみ適用されます。
FtpInboundFileSynchronizingMessageSource
は リモートファイルに対してメッセージを生成しませんが、ローカルコピーを使用するため、AbstractInboundFileSynchronizer
は リモートファイルに関する情報を、同期操作中に URI スタイル (protocol://host:port/remoteDirectory#remoteFileName
) で MetadataStore
(外部で構成可能) に保存します。このメタデータは、ローカルファイルがポーリングされるときに FtpInboundFileSynchronizingMessageSource
によって取得されます。ローカルファイルが削除されたら、そのメタデータエントリを削除することをお勧めします。AbstractInboundFileSynchronizer
は、この目的のために removeRemoteFileMetadata()
コールバックを提供します。さらに、メタデータキーで使用される setMetadataStorePrefix()
があります。同じ MetadataStore
インスタンスがこれらのコンポーネント間で共有されている場合、フィルターと AbstractInboundFileSynchronizer
の両方がメタデータエントリに同じローカルファイル名を使用するため、エントリのオーバーライドを回避するために、このプレフィックスを MetadataStore
ベースの FileListFilter
実装で使用されるものとは異なるものにすることをお勧めします。鍵。