MessageSessionCallback を使用する
Spring Integration 4.2 以降では、<int-ftp:outbound-gateway/> (Java では FtpOutboundGateway)と MessageSessionCallback<F, T> 実装を使用することで、requestMessage コンテキストで Session<FTPFile> に対するあらゆる操作を実行できます。これは、あらゆる非標準または低レベルの FTP 操作に使用でき、統合フロー定義と関数インターフェース(ラムダ)実装のインジェクションへのアクセスを可能にします。次の例を参照してください。
@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-callback は、command および expression 属性と相互に排他的です。Java を使用して構成する場合、FtpOutboundGateway (Javadoc) クラスでさまざまなコンストラクターを使用できます。 |