|
对于最新的稳定版本,请使用 Spring for Apache Kafka 3.3.9! |
什么是新的?
自 3.0 以来 3.1 的新增功能
本节介绍从 3.0 版到 3.1 版所做的更改。 有关早期版本的更改,请参阅更改历史记录。
嵌入式KafkaBroker
现在提供了一个额外的实现来使用Kraft而不是 Zookeeper。
有关更多信息,请参阅嵌入式 Kafka 代理。
Json反序列化器
当发生反序列化异常时,SerializationExceptionmessage 不再包含表单Can’t deserialize data [[123, 34, 98, 97, 122, …;每个数据字节的数值数组没有用处,对于大数据可能会很冗长。
当与ErrorHandlingDeserializer这DeserializationException发送到错误处理程序包含data包含无法反序列化的原始数据的属性。
不与ErrorHandlingDeserializer这KafkaConsumer将不断为显示主题/分区/偏移量和 Jackson 抛出的原因的同一记录发出异常。
容器后处理器
可以通过指定ContainerPostProcessor在@KafkaListener注解。
这发生在创建容器后以及任何配置的ContainerCustomizer在容器工厂上配置。
有关更多信息,请参阅容器工厂。
ErrorHandlingDeserializer
您现在可以添加Validator到这个解串器;如果委托Deserializer成功反序列化对象,但该对象未通过验证,则引发异常,类似于发生反序列化异常。
这允许将原始原始数据传递给错误处理程序。
看用ErrorHandlingDeserializer了解更多信息。
可重试主题
更改后缀-retry-5000自-retry什么时候@RetryableTopic(backoff = @Backoff(delay = 5000), attempts = "2", fixedDelayTopicStrategy = FixedDelayStrategy.SINGLE_TOPIC).
如果要保留后缀-retry-5000用@RetryableTopic(backoff = @Backoff(delay = 5000), attempts = "2").
有关更多信息,请参阅主题命名。
侦听器容器更改
手动分配分区时,使用null消费者group.id这AckMode现在会自动强制MANUAL.
有关详细信息,请参阅手动分配所有分区。