MessageSessionCallback を使用する

Spring Integration 4.2 から、<int-ftp:outbound-gateway/> (Java の FtpOutboundGateway)で MessageSessionCallback<F, T> 実装を使用して、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()));
}

別の例は、送信または取得されるファイルデータの前処理または後処理です。

XML 構成を使用する場合、<int-ftp:outbound-gateway/> は session-callback 属性を提供して、MessageSessionCallback Bean 名を指定できるようにします。

session-callback は、command および expression 属性と相互に排他的です。Java を使用して構成する場合、FtpOutboundGateway (Javadoc) クラスでさまざまなコンストラクターを使用できます。