2. 有什么新功能?
2.1. 2.9 自 2.8 以来的新增功能
本节介绍从 2.8 版到 2.9 版所做的更改。 有关早期版本的更改,请参阅更改历史记录。
2.1.2. 错误处理程序更改
这DefaultErrorHandler
现在可以配置为暂停容器进行一次轮询,并使用上一次轮询的剩余结果,而不是查找剩余记录的偏移量。
有关详细信息,请参阅 DefaultErrorHandler。
这DefaultErrorHandler
现在有一个BackOffHandler
财产。
有关更多信息,请参阅退后处理程序。
2.1.3. 监听器容器更改
interceptBeforeTx
现在适用于所有事务管理器(以前它仅在KafkaAwareTransactionManager
被使用)。
请参阅 [interceptBeforeTx]。
新的容器属性pauseImmediate
,允许容器在处理当前记录后暂停使用者,而不是在处理完上一次轮询中的所有记录后暂停使用者。
请参阅 [pauseImmediate]。
与消费者身份验证和授权相关的事件
2.1.4. 标头映射器更改
您现在可以配置应映射哪些入站标头。 也可在 2.8.8 或更高版本中使用。 有关详细信息,请参阅消息头。
2.1.5.KafkaTemplate
变化
在 3.0 中,该类返回的 future 将为CompletableFuture
s 而不是ListenableFuture
s.
看用KafkaTemplate
以获取使用此版本时过渡的帮助。
2.1.6.ReplyingKafkaTemplate
变化
该模板现在提供了一种方法来等待回复容器上的分配,以避免在初始化回复容器之前发送请求时出现争用。
也可在 2.8.8 或更高版本中使用。
看用ReplyingKafkaTemplate
.
在 3.0 中,该类返回的 future 将为CompletableFuture
s 而不是ListenableFuture
s.
看用ReplyingKafkaTemplate
和请求/回复Message<?>
s以获取使用此版本时过渡的帮助。
2.2. JsonDeserializer(自 2.9.13 起)
当发生反序列化异常时,SerializationException
message 不再包含表单Can’t deserialize data [[123, 34, 98, 97, 122, …
;每个数据字节的数值数组没有用处,对于大数据可能会很冗长。
当与ErrorHandlingDeserializer
这DeserializationException
发送到错误处理程序包含data
包含无法反序列化的原始数据的属性。
不与ErrorHandlingDeserializer
这KafkaConsumer
将不断为显示主题/分区/偏移量和 Jackson 抛出的原因的同一记录发出异常。