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-callbackcommandexpression 属性互斥。使用 Java 配置时,SftpOutboundGateway 类提供不同的构造函数。
© . This site is unofficial and not affiliated with VMware.