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