对于最新的稳定版本,请使用 Spring for Apache Kafka 3.3.0spring-doc.cn

新增功能

自 3.0 以来 3.1 中的新增功能

本节介绍从版本 3.0 到版本 3.1 所做的更改。 有关早期版本的更改,请参阅更改历史记录spring-doc.cn

Kafka 客户端版本

此版本需要 3.6.0 .kafka-clientsspring-doc.cn

嵌入 KafkaBroker

现在提供了一个额外的实现来代替 Zookeeper。 有关更多信息,请参阅嵌入式 Kafka 代理Kraftspring-doc.cn

JsonDeserializer

发生反序列化异常时,消息不再包含格式为 ;每个数据字节的数值数组没有用,对于大数据来说可能很详细。 与 一起使用时 ,发送到错误处理程序包含包含无法反序列化的原始数据的属性。 当不与 一起使用时,将持续为同一记录发出异常,显示 topic/partition/offset 和 Jackson 引发的原因。SerializationExceptionCan’t deserialize data [[123, 34, 98, 97, 122, …​ErrorHandlingDeserializerDeserializationExceptiondataErrorHandlingDeserializerKafkaConsumerspring-doc.cn

容器后处理器

通过在 Comments 上指定 a 的 bean 名称,可以在侦听器容器上应用后处理。 这发生在创建容器之后,并在容器工厂上配置了任何配置之后。 有关更多信息,请参阅 Container FactoryContainerPostProcessor@KafkaListenerContainerCustomizerspring-doc.cn

ErrorHandlingDeserializer

您现在可以将 a 添加到此 deserializer;如果委托成功反序列化对象,但该对象未通过验证,则会引发类似于发生的反序列化异常的异常。 这允许将原始原始数据传递给错误处理程序。 有关更多信息,请参见使用 ErrorHandlingDeserializerValidatorDeserializerspring-doc.cn

可重试主题

将 suffix 更改为 when 。 如果要保留后缀 ,请使用 . 有关更多信息,请参阅主题命名-retry-5000-retry@RetryableTopic(backoff = @Backoff(delay = 5000), attempts = "2", fixedDelayTopicStrategy = FixedDelayStrategy.SINGLE_TOPIC)-retry-5000@RetryableTopic(backoff = @Backoff(delay = 5000), attempts = "2")spring-doc.cn

侦听器容器更改

在手动分配分区时,使用 consumer 时,现在会自动强制转换为 。 有关更多信息,请参阅手动分配所有分区nullgroup.idAckModeMANUALspring-doc.cn