该版本仍在开发中,尚未被视为稳定。对于最新的稳定版本,请使用 Spring Integration 7.0.0spring-doc.cadn.net.cn

消息会话回调

从 Spring Integration 4.2 版本开始,你可以使用MessageSessionCallback<F, T>实现方式包括<int-sftp:outbound-gateway/> (Sftp外站网关)以执行对Session<SftpClient.DirEntry>其中请求消息上下文。 你可以将其用于任何非标准或低级别的SFTP作(或多个),例如允许从集成流定义访问,或功能接口(lambda)实现注入。 以下示例使用λ:spring-doc.cadn.net.cn

@Bean
@ServiceActivator(inputChannel = "sftpChannel")
public MessageHandler sftpOutboundGateway(SessionFactory<SftpClient.DirEntry> sessionFactory) {
    return new SftpOutboundGateway(sessionFactory,
         (session, requestMessage) -> session.list(requestMessage.getPayload()));
}

另一个例子可能是对发送或检索的文件数据进行预处理或后处理。spring-doc.cadn.net.cn

使用 XML 配置时,<int-sftp:outbound-gateway/>提供会话回调属性,可以指定消息会话回调豆子的名字。spring-doc.cadn.net.cn

会话回调与 互斥命令表达属性。 在使用 Java 配置时,Sftp外站网关该级别提供不同的制造商。