MessageSessionCallback
Spring Integration バージョン 4.2 以降、<int-sftp:outbound-gateway/>
(SftpOutboundGateway
)で MessageSessionCallback<F, T>
実装を使用して、requestMessage
コンテキストで Session<SftpClient.DirEntry>
の操作を実行できます。統合フロー定義や関数インターフェース(ラムダ)実装インジェクションからのアクセスを許可するなど、非標準または低レベルの SFTP 操作(または複数)に使用できます。次の例では、ラムダを使用しています。
@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 は、command および expression 属性と相互に排他的です。Java で構成する場合、SftpOutboundGateway クラスはさまざまなコンストラクターを提供します。 |