使用 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 類中提供了不同的建構函式。 |