跳到主要内容
版本:7.0.2

MessageSessionCallback

DeepSeek V3 中英对照 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 属性与 commandexpression 属性是互斥的。在使用 Java 进行配置时,SftpOutboundGateway 类提供了不同的构造函数。