2. 什么是新的?

2.1. 2.9 的新功能自 2.8 版本起

此部分概述了从版本2.8到版本2.9所做的更改。 对于早期版本的变更历史,请参阅变更历史spring-doc.cadn.net.cn

2.1.1. Kafka 客户端版本

这个版本需要 3.2.0 kafka-clientsspring-doc.cadn.net.cn

2.1.2. 错误处理器更改

The DefaultErrorHandler 现在可以配置为暂停容器进行一次轮询,并使用上一个轮询的剩余结果,而不是跳转到剩余记录的偏移量。 有关更多信息,请参见 DefaultErrorHandlerspring-doc.cadn.net.cn

The DefaultErrorHandler 现在有一个 BackOffHandler 属性。 见 后退处理程序 以获取更多信息。spring-doc.cadn.net.cn

2.1.3. Listener Container Changes

interceptBeforeTx 现在可以与所有事务管理器一起工作(之前它仅应用于 KafkaAwareTransactionManager)。 请参见 [前置事务拦截].spring-doc.cadn.net.cn

pauseImmediate 是一个新的容器属性,它使容器能够在处理完当前记录后暂停消费者,而不是在上一次轮询的所有记录都被处理完毕后再暂停。 请参阅 [pauseImmediate].spring-doc.cadn.net.cn

事件相关的消费者身份验证和授权spring-doc.cadn.net.cn

2.1.4. Header Mapper 更改

您可以现在配置应该映射的入站标头。 此功能也从版本 2.8.8 开始可用。 有关更多信息,请参见 消息头spring-doc.cadn.net.cn

2.1.5. KafkaTemplate变更

在3.0版本中,此类返回的未来将会是CompletableFuture秒而不是ListenableFuture秒。 请参见使用KafkaTemplate以在使用此发布版本时进行过渡。spring-doc.cadn.net.cn

2.1.6. ReplyingKafkaTemplate变更

The template now provides a method to wait for assignment on the reply container, to avoid a race when sending a request before the reply container is initialized. Also available in version 2.8.8 or later. See Using ReplyingKafkaTemplate.spring-doc.cadn.net.cn

在3.0版本中,此类返回的未来将变为CompletableFutures而不是ListenableFutures。 请参见使用ReplyingKafkaTemplate带有Message<?>s的请求/回复Message<?>以在使用此版本时进行迁移。spring-doc.cadn.net.cn

2.2. JsonDeserializer(自 2.9.13 版本起)

当反序列化异常发生时,SerializationException消息不再包含具有形式Can’t deserialize data [[123, 34, 98, 97, 122, …​的数据;每个数据字节的数值数组对于大数据来说可能没有用且很冗长。 使用ErrorHandlingDeserializer时,DeserializationException发送给错误处理程序包含data属性,该属性包含无法反序列化的原始数据。 如果不使用ErrorHandlingDeserializerKafkaConsumer将继续为同一记录发出异常,显示主题/分区/偏移量以及由Jackson抛出的错误原因。spring-doc.cadn.net.cn