2. 新增功能

2.1. 自 2.8 以来 2.9 中的新增功能

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

2.1.1. Kafka 客户端版本

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

2.1.2. 错误处理程序更改

现在可以将 配置为暂停容器进行一次轮询,并使用上一次轮询的剩余结果,而不是寻找剩余记录的偏移量。 有关更多信息,请参阅 DefaultErrorHandlerDefaultErrorHandlerspring-doc.cn

现在有一个属性。 有关更多信息,请参见 Back Off HandlersDefaultErrorHandlerBackOffHandlerspring-doc.cn

2.1.3. 侦听器容器更改

interceptBeforeTx现在适用于所有事务管理器(以前仅在使用 a 时应用)。 参见 [interceptBeforeTx]。KafkaAwareTransactionManagerspring-doc.cn

提供了一个新的 container 属性,该属性允许容器在处理当前记录后暂停使用者,而不是在处理了上一次轮询中的所有记录之后。 请参阅 [pauseImmediate]。pauseImmediatespring-doc.cn

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

2.1.4. Header Mapper 更改

您现在可以配置应映射的入站标头。 在版本 2.8.8 或更高版本中也可用。 有关更多信息,请参阅 Message Headersspring-doc.cn

2.1.5. 更改KafkaTemplate

在 3.0 中,该类返回的 future 将是 s 而不是 s。 请参阅使用 KafkaTemplate 以获取有关使用此版本时进行过渡的帮助。CompletableFutureListenableFuturespring-doc.cn

2.1.6. 更改ReplyingKafkaTemplate

该模板现在提供了一种在回复容器上等待分配的方法,以避免在初始化回复容器之前发送请求时发生争用。 在版本 2.8.8 或更高版本中也可用。 请参见使用 ReplyingKafkaTemplatespring-doc.cn

在 3.0 中,该类返回的 future 将是 s 而不是 s。 有关使用此版本时过渡的帮助,请参阅使用 ReplyingKafkaTemplate使用 Message<?> 请求/回复CompletableFutureListenableFuturespring-doc.cn

2.2. JsonDeserializer(自 2.9.13 起)

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