用MessageSessionCallback
从 Spring Integration 4.2 开始,你可以使用带有(在 Java 中)的实现来对上下文执行任何操作。
它可用于任何非标准或低级 FTP 操作,并允许从集成流定义和功能接口 (Lambda) 实施注入进行访问,如下例所示:MessageSessionCallback<F, T>
<int-ftp:outbound-gateway/>
FtpOutboundGateway
Session<FTPFile>
requestMessage
@Bean
@ServiceActivator(inputChannel = "ftpChannel")
public MessageHandler ftpOutboundGateway(SessionFactory<FTPFile> sessionFactory) {
return new FtpOutboundGateway(sessionFactory,
(session, requestMessage) -> session.list(requestMessage.getPayload()));
}
另一个示例可能是对正在发送或检索的文件数据进行预处理或后处理。
使用 XML 配置时,会提供一个属性,让您指定 Bean 名称。<int-ftp:outbound-gateway/>
session-callback
MessageSessionCallback
这与 和 属性互斥。
使用 Java 进行配置时,FtpOutboundGateway 类中提供了不同的构造函数。session-callback command expression |