最新の安定バージョンについては、Spring AMQP 4.1.1 を使用してください!

新着情報

3.2 以降の 4.0 の変更点

Spring Framework 7.0

このバージョンには Spring Framework 7.0 が必要です。

null セーフ

As many other Spring portfolio projects, Spring AMQP has been migrated to JSpecify (英語) annotations to declare the nullness of API. The NullAway [GitHub] (英語) Gradle plugin is used to check the consistency of null-safety declarations.

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 から取得できます。