2.4 以降の 3.0 の変更点
観測
タイマーの監視と Micrometer を使用したトレースの有効化がサポートされるようになりました。詳細については、Micrometer Observation を参照してください。
ネイティブイメージ
ネイティブイメージの作成がサポートされます。詳細については、ネイティブイメージを参照してください。
AsyncRabbitTemplate
AsyncRabbitTemplate は ListenableFuture の代わりに CompletableFuture を返すようになりました。詳細については、非同期 Rabbit テンプレートを参照してください。 |
ストリームサポートの変更
RabbitStreamOperations および RabbitStreamTemplate メソッドは、ListenableFuture の代わりに CompletableFuture を返すようになりました。 |
スーパーストリームとその単一のアクティブコンシューマーがサポートされるようになりました。
詳細については、RabbitMQ ストリームプラグインの使用を参照してください。
@RabbitListener
の変更
バッチリスナーは List<?>
だけでなく Collection<?>
も使用できるようになりました。バッチメッセージングアダプターにより、メソッドがバッチの使用に適していることが保証されるようになりました。コンテナーファクトリ consumerBatchEnabled
を true
に設定すると、batchListener
プロパティも true
に設定されます。詳細については、"バッチ処理を伴う @RabbitListener" を参照してください。
MessageConverter
は null 値に対して Optional.empty()
を返すことができるようになりました。これは現在 Jackson2JsonMessageConverter
によって実装されています。詳細については、Message
からの変換を参照してください。
@RabbitListener
のプロパティではなく、コンテナーファクトリを介して ReplyPostProcessor
を構成できるようになりました。詳細については、返信管理を参照してください。
@RabbitListener
(および @RabbitHandler
) メソッドを Kotlin suspend
関数として宣言できるようになりました。詳細については、"非同期 @RabbitListener
戻り型" を参照してください。
バージョン 3.0.5 以降、非同期戻り型 (Kotlin サスペンド関数を含む) を持つリスナーは、障害後に RabbitListenerErrorHandler
(構成されている場合) を呼び出します。以前は、エラーハンドラーは同期呼び出しでのみ呼び出されていました。
接続ファクトリの変更
AbstractConnectionFactory
のデフォルトの addressShuffleMode
は RANDOM
になりました。これにより、複数のアドレスが提供された場合、ランダムなホストに接続されます。詳細については、クラスターへの接続を参照してください。
LocalizedQueueConnectionFactory
は、RabbitMQ http-client
ライブラリを使用して、どのノードがキューのリーダーであるかを判断しなくなりました。詳細については、キューアフィニティと LocalizedQueueConnectionFactory
を参照してください。