新着情報
3.2 以降の 4.0 の変更点
null セーフ
他の多くの Spring ポートフォリオプロジェクトと同様に、Spring AMQP は API の null 性を宣言するために JSpecify (英語) アノテーションに移行されました。NullAway [GitHub] (英語) Gradle プラグインは、null 安全性宣言の一貫性をチェックするために使用されます。
spring-rabbitmq-client モジュール
新しい spring-rabbitmq-client モジュール(アーティファクト名は同じ)が導入されました。これは、4.0 以降 RabbitMQ に固有の AMQP 1.0 プロトコルの実装であり、com.rabbitmq.client:amqp-client ライブラリに基づいています。
詳細については、RabbitMQ AMQP 1.0 サポートを参照してください。
JUnit 4 ユーティリティの廃止
JUnit 4 の最新リリースは 2021 年 2 月の 4.13.2 で、次の JUnit 6 は Java 17 をベースにしたバージョンになります。古いユーティリティを使い続ける必要はありません。JUnit Jupiter 用のツールへの移行をお勧めします。
Jackson 3 サポート
Jackson 2 は Spring ポートフォリオ全体から削除され、非推奨となりました。Jackson 3 をサポートするために、それぞれ新しいクラスが導入されました。
詳細については、メッセージコンバーターを参照してください。
MessageListenerContainer の変更
SimpleMessageListenerContainer は、シャットダウン時に、指定された RabbitTemplate リスナーからの保留中の応答を最大で shutdownTimeout まで待機するようになりました。
Spring コアへの移行の再試行
プロジェクトにおける Spring Retry API とその使用箇所は、spring-core モジュールの類似 API に置き換えられました。対応する org.springframework.retry:spring-retry への依存関係は削除されました。これは互換性を欠く変更ですが、Spring ポートフォリオ全体の現在の新しいメジャー世代には妥当なものです。新しい便利なクラス、StatelessRetryOperationsInterceptor と StatefulRetryOperationsInterceptor を参照してください。SendRetryContextAccessor は MessageRecoverer 契約に置き換えられ、削除されました。失敗の replyTo アドレスは、再試行が尽きた後に前述の MessageRecoverer に伝播された ReplyFailureException から取得できます。