新着情報
3.0 以降の 3.1 の新機能
このセクションでは、バージョン 3.0 からバージョン 3.1 に加えられた変更について説明します。以前のバージョンでの変更については、変更履歴を参照してください。
EmbeddedKafkaBroker
Zookeeper の代わりに Kraft
を使用する追加の実装が提供されるようになりました。詳細については、"組み込み Kafka ブローカー" を参照してください。
JsonDeserializer
逆直列化例外が発生すると、SerializationException
メッセージには Can’t deserialize data [[123, 34, 98, 97, 122, …
形式のデータが含まれなくなります。各データバイトの数値の配列は役に立たず、大規模なデータの場合は冗長になる可能性があります。ErrorHandlingDeserializer
とともに使用すると、エラーハンドラーに送信される DeserializationException
には、逆直列化できなかった生データを含む data
プロパティが含まれます。ErrorHandlingDeserializer
とともに使用しない場合、KafkaConsumer
は同じレコードに対して例外を継続的に発行し、トピック / パーティション / オフセットと Jackson によってスローされた原因を示します。
ContainerPostProcessor
@KafkaListener
アノテーションで ContainerPostProcessor
の Bean 名を指定することで、リスナーコンテナーに後処理を適用できます。これは、コンテナーが作成された後、およびコンテナーファクトリで構成された ContainerCustomizer
が設定された後に発生します。詳細については、"コンテナーファクトリ" を参照してください。
ErrorHandlingDeserializer
これで、このデシリアライザーに Validator
を追加できるようになりました。デリゲート Deserializer
がオブジェクトの逆直列化に成功したが、そのオブジェクトの検証に失敗した場合は、逆直列化例外が発生した場合と同様の例外がスローされます。これにより、元の生データをエラーハンドラーに渡すことができます。詳細については、"ErrorHandlingDeserializer
の使用 " を参照してください。
再試行可能なトピック
@RetryableTopic(backoff = @Backoff(delay = 5000), attempts = "2", fixedDelayTopicStrategy = FixedDelayStrategy.SINGLE_TOPIC)
の場合、サフィックス -retry-5000
を -retry
に変更します。サフィックス -retry-5000
を維持したい場合は、@RetryableTopic(backoff = @Backoff(delay = 5000), attempts = "2")
を使用してください。詳細については、"トピックの命名" を参照してください。
リスナーコンテナーの変更
null
コンシューマー group.id
を使用してパーティションを手動で割り当てる場合、AckMode
は自動的に MANUAL
に強制されるようになりました。詳細については、"すべてのパーティションを手動で割り当てる" を参照してください。