遠端檔案資訊

從版本 5.2 開始,SftpStreamingMessageSourceSFTP 流入通道介面卡)、SftpInboundFileSynchronizingMessageSourceSFTP 入站檔案同步訊息源)以及 SftpOutboundGatewaySFTP 出站閘道器)的“讀”命令在生成訊息時提供了額外的訊息頭,其中包含有關遠端檔案的資訊。

  • FileHeaders.REMOTE_HOST_PORT - 檔案傳輸操作期間遠端會話連線到的主機:埠對;

  • FileHeaders.REMOTE_DIRECTORY - 執行操作的遠端目錄;

  • FileHeaders.REMOTE_FILE - 遠端檔名;僅適用於單個檔案操作。

由於 SftpInboundFileSynchronizingMessageSource 不是直接根據遠端檔案生成訊息,而是使用本地副本,因此 AbstractInboundFileSynchronizer 會在同步操作期間以 URI 樣式(protocol://host:port/remoteDirectory#remoteFileName)將遠端檔案資訊儲存在 MetadataStore 中(該儲存可外部配置)。當輪詢本地檔案時,SftpInboundFileSynchronizingMessageSource 會檢索此元資料。當本地檔案被刪除時,建議也刪除其元資料條目。為此,AbstractInboundFileSynchronizer 提供了 removeRemoteFileMetadata() 回撥。此外,還提供了一個 setMetadataStorePrefix() 方法,用於在元資料鍵中使用字首。建議此字首與基於 MetadataStoreFileListFilter 實現中使用的字首不同,當這些元件共享同一個 MetadataStore 例項時,以避免條目被覆蓋,因為過濾器和 AbstractInboundFileSynchronizer 都使用相同的本地檔名作為元資料條目鍵。

© . This site is unofficial and not affiliated with VMware.