使用 MessageSessionCallback
從 Spring Integration 4.2 開始,您可以將 MessageSessionCallback<F, T>
實作與 <int-ftp:outbound-gateway/>
(Java 中的 FtpOutboundGateway
) 搭配使用,以對具有 requestMessage
內容的 Session<FTPFile>
執行任何操作。 它可以用於任何非標準或低階 FTP 操作,並允許從整合流程定義和函數介面 (Lambda) 實作注入進行存取,如下列範例所示
@Bean
@ServiceActivator(inputChannel = "ftpChannel")
public MessageHandler ftpOutboundGateway(SessionFactory<FTPFile> sessionFactory) {
return new FtpOutboundGateway(sessionFactory,
(session, requestMessage) -> session.list(requestMessage.getPayload()));
}
另一個範例可能是預先或後處理正在傳送或擷取的檔案資料。
當使用 XML 設定時,<int-ftp:outbound-gateway/>
提供 session-callback
屬性,讓您指定 MessageSessionCallback
Bean 名稱。
session-callback 與 command 和 expression 屬性互斥。 當使用 Java 設定時,FtpOutboundGateway 類別中提供了不同的建構子。 |