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