2.2 以降の 2.3 の変更点

このセクションでは、バージョン 2.2 とバージョン 2.3 の間の変更点について説明します。以前のバージョンでの変更点については、変更履歴を参照してください。

接続ファクトリの変更

2 つの追加の接続ファクトリが提供されるようになりました。詳細については、接続ファクトリの選択を参照してください。

@RabbitListener の変更

返信のコンテンツ型を指定できるようになりました。詳細については、返信 ContentType を参照してください。

メッセージコンバーターの変更点

ObjectMapper がカスタムデシリアライザーで構成されている場合、Jackson2JMessageConverter は抽象クラス (インターフェースを含む) をデシリアライズできるようになりました。詳細については、抽象クラスのデシリアライズを参照してください。

変更のテスト

SpringBootTest を使用していないときに一部のインフラストラクチャ Bean を自動的に構成するために、新しいアノテーション @SpringRabbitTest が提供されています。詳細については、@SpringRabbitTest を参照してください。

RabbitTemplate の変更

テンプレートの ReturnCallback は、ラムダ式で簡単に使用できるように ReturnsCallback としてリファクタリングされました。詳細については、相関するパブリッシャーの確認と return を参照してください。

return と相関確認を使用する場合、CorrelationData は一意の id プロパティを必要とするようになりました。詳細については、相関するパブリッシャーの確認と return を参照してください。

直接返信先を使用する場合、サーバーが返信で相関データを返す必要がないようにテンプレートを構成できるようになりました。詳細については、RabbitMQ 直接返信を参照してください。

リスナーコンテナーの変更

新しいリスナーコンテナープロパティ consumeDelay が利用可能になりました。RabbitMQ シャーディングプラグイン [GitHub] (英語) を使用する場合に役立ちます。

デフォルトの JavaLangErrorHandler は System.exit(99) を呼び出すようになりました。以前の動作に戻す (何もしない) には、no-op ハンドラーを追加します。

コンテナーは、チャネル上の各コンシューマーではなく、チャネルに対してグローバルに prefetchCount を適用する globalQos プロパティをサポートするようになりました。

詳細については、メッセージリスナーコンテナーの設定を参照してください。

MessagePostProcessor の変更

圧縮 MessagePostProcessor は、複数のコンテンツエンコーディングをコロンではなくカンマで区切るようになりました。デコンプレッサは両方の形式を処理できますが、2.2.12 より前のバージョンで消費されるメッセージをこのバージョンで生成する場合は、古い区切り文字を使用するようにコンプレッサを構成する必要があります。詳細については、メッセージの変更 - 圧縮などの重要な注意事項を参照してください。

複数のブローカーサポートの改善

詳細については、複数のブローカー (またはクラスター) のサポートを参照してください。

RepublishMessageRecoverer の変更

パブリッシャーの確認をサポートする、このリカバリ機能の新しいサブクラスは提供されていません。詳細については、メッセージリスナーと非同期ケースを参照してください。