跳到主要内容

使用 MessageSessionCallback

QWen Plus 中英对照 Using MessageSessionCallback Using 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()));
}
java

另一个例子可能是对发送或检索的文件数据进行预处理或后处理。

当使用 XML 配置时,<int-ftp:outbound-gateway/> 提供了一个 session-callback 属性,让您指定 MessageSessionCallback bean 名称。

备注

session-callbackcommandexpression 属性是互斥的。在使用 Java 配置时,FtpOutboundGateway 类中提供了不同的构造函数。