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