Spring Integration にすでに精通している方のために、この章ではバージョン 5.4 の新機能の概要を簡単に説明します。
以前のバージョンで導入された変更と機能に興味がある場合は、変更履歴を参照してください。
Spring Integration 5.4 の新機能
詳細に興味がある場合は、5.4 開発プロセスの一部として解決された課題トラッカーチケットを参照してください。
新規コンポーネント
Apache Kafka チャネルアダプター
スタンドアロンの Spring Integration Kafka プロジェクトは、spring-integration-kafka モジュールとしてこのプロジェクトにマージされました。
KafkaProducerMessageHandler sendTimeoutExpression のデフォルトが変更されました。
これで、基礎となる send() 操作のために Future<?> にアクセスできます。
詳細については、Spring for Apache Kafka サポートを参照してください。
R2DBC チャネルアダプター
R2DBC データベースの相互作用のためのチャネルアダプターが導入されました。詳細については、R2DBC サポートを参照してください。
Redis ストリームのサポート
Redis ストリームをサポートするためのチャネルアダプターが導入されました。詳細については、Redis ストリーム送信チャネルアダプターを参照してください。
再生可能ロックレジストリ
分散ロックのリースを更新できるように、更新可能なロックレジストリが導入されました。詳細については、JDBC の実装を参照してください。
ZeroMQ サポート
ZeroMqChannel、ZeroMqMessageHandler、ZeroMqMessageProducer が導入されました。詳細については、ZeroMQ サポートを参照してください。
一般的な変更
一方向メッセージングゲートウェイ(void メソッドの戻り値の型)は、nullChannel を replyChannel ヘッダーに明示的に設定して、考えられるダウンストリーム応答を無視するようになりました。詳細については、デフォルトの応答チャネルの設定を参照してください。
また、ゲートウェイメソッド呼び出し側(GatewayProxyFactoryBean.MethodInvocationGateway)には、ゲートウェイプロキシ Bean 名とメソッド署名の組み合わせとしてマネージド Bean 名が提供されるようになりました。例: sampleGateway#echo(String)。これは、ゲートウェイメソッド呼び出しに対して公開されるメッセージ履歴とメトリクスに影響し、アプリケーションコンテキストの開始時と終了時にもきめ細かいログを提供します。
アグリゲーター(およびリシーケンサー)は、孤立したグループ(アプリケーションの再起動後に新しいメッセージが到着しない永続ストア内のグループ)を期限切れにすることができるようになりました。詳細については、アグリゲーターの期限切れグループを参照してください。
Micrometer メーターに置き換えられたレガシーメトリクスは削除されました。
スレッドバリアには、requestTimeout と triggerTimeout の 2 つの個別のタイムアウトオプションがあります。
TCP/UDP の変更
接続ファクトリは、複数の送信コンポーネント(TcpSender)をサポートするようになりました。それらは 1 つの受信コンポーネント(TcpListener)に制限されたままです。これにより、たとえば、受信ゲートウェイと送信チャネルアダプターが同じファクトリを共有し、サーバーからクライアントへのリクエスト / 応答と任意のメッセージングの両方をサポートできます。シングルユース接続または ThreadAffinityClientConnectionFactory が使用されていない限り、共有ファクトリを送信ゲートウェイで使用しないでください。詳細については、コラボレーションチャネルアダプターおよび TCP ゲートウェイを参照してください。
UDP チャネルアダプターを SocketCustomizer で構成できるようになりました。これにより、アダプターで直接サポートされていないソケットプロパティを設定できます。詳細については、UDP アダプターを参照してください。
RMI の変更
spring-integration-rmi モジュールは非推奨であり、交換は行われず、次のメジャーバージョンで削除される予定です。詳細については、RMI サポートを参照してください。
AMQP の変更
送信エンドポイントには、パブリッシャーの確認と return を処理するための新しいメカニズムが追加されました。詳細については、パブリッシャーの確認と return の代替メカニズムを参照してください。
新しい BatchMode.EXTRACT_PAYLOAD_WITH_HEADERS は AmqpInboundChannelAdapter でサポートされています。詳細については、受信チャネルアダプターを参照してください。
メールの変更
AbstractMailReceiver は、コンテンツを先行してフェッチすることなく、MimeMessage をそのまま生成できるようになりました。詳細については、メール受信チャネルアダプターを参照してください。