MessageSessionCallback
從 Spring Integration 4.2 版本開始,您可以將 MessageSessionCallback<F, T> 實現與 <int-sftp:outbound-gateway/> (SftpOutboundGateway) 一起使用,以在 Session<SftpClient.DirEntry> 上執行任何操作,並帶有 requestMessage 上下文。您可以將其用於任何非標準或低階 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 類提供不同的建構函式。 |