2. 什么是新的?

2.1. 自2.7版本以来的新功能

此部分涵盖了从版本 2.7 到版本 2.8 的更改内容。对于更早版本的变更历史,请参见 变更历史.spring-doc.cadn.net.cn

2.1.1. Kafka 客户端版本

以下是从英文网站翻译的Java开发Spring框架的内容,保持HTML结构和标签名称不变:spring-doc.cadn.net.cn

在使用事务时,0 3.0.0 及其后续版本不再支持 1(即 2)(以及自动回退到 3 - 即 4)与早于 2.5 的代理;因此,如果您的代理较旧(或者需要升级您的代理),您必须覆盖默认的 5 (6) 为 7。

至多一次语义KIP-447以获取更多信息。spring-doc.cadn.net.cn

2.1.2. 包的变化

类型映射相关的类和接口已经从…​support.converter移至…​support.mappingspring-doc.cadn.net.cn

2.1.3. 手动提交的顺序外操作

The listener container can now be configured to accept manual offset commits out of order (usually asynchronously). The container will defer the commit until the missing offset is acknowledged. See Manually Committing Offsets for more information.spring-doc.cadn.net.cn

2.1.4. @KafkaListener变更

现在可以在方法本身上指定监听器方法是否为批量监听器。 这使得同一个容器工厂可以用于记录和批量监听器的配置。spring-doc.cadn.net.cn

See 批处理监听器 以获取更多信息。spring-doc.cadn.net.cn

批处理监听器现在可以处理转换异常。spring-doc.cadn.net.cn

RecordFilterStrategy, 当与批处理监听器结合使用时,现在可以在一次调用中过滤整个批处理。 更多详细信息请参见批处理监听器一节末尾的备注。spring-doc.cadn.net.cn

The @KafkaListener 注解现在具有 filter 属性,用于覆盖此监听器容器工厂的 RecordFilterStrategyspring-doc.cadn.net.cn

The <code>0</code> annotation now has the <code>1</code> attribute; this is used to populate the new listener container property <code>2</code>. This is then used to populate a <code>3</code> header in each record which can be used in <code>4</code>, <code>5</code>, or the listener itself. See <a href=\"6\">Listener Info Header</a> and <a href=\"7\">Abstract Listener Container Properties</a> for more information.spring-doc.cadn.net.cn

2.1.5. KafkaTemplate变更

您现在可以基于主题、分区和偏移量来接收单条记录。
请参阅使用 KafkaTemplate 接收以获取更多信息。spring-doc.cadn.net.cn

2.1.6. CommonErrorHandler添加

The legacy GenericErrorHandler 和其子接口层次结构已替换为一个新的单一接口 CommonErrorHandler,该接口的实现对应于大多数现有的 GenericErrorHandler 的实现。 请参见 容器错误处理程序 以及 将自定义遗留错误处理程序实现实现迁移到 CommonErrorHandler 以获取更多详细信息。spring-doc.cadn.net.cn

2.1.7. Listener Container Changes

The interceptBeforeTx 容器属性现在默认为 truespring-doc.cadn.net.cn

The authorizationExceptionRetryInterval 属性已被重命名为 authExceptionRetryInterval,现在适用于除 AuthorizationException 之外的 AuthenticationException。 两种异常都被视为致命错误,默认情况下容器会停止运行,除非设置了该属性。spring-doc.cadn.net.cn

2.1.8. 序列化器/反序列化器更改

The DelegatingByTopicSerializerDelegatingByTopicDeserializer现在提供了。 见委托序列化器和反序列化器以获取更多信息。spring-doc.cadn.net.cn

2.1.9. DeadLetterPublishingRecover变更

The property stripPreviousExceptionHeaders is now true by default.spring-doc.cadn.net.cn

现在有几种技术可以自定义添加到输出记录中的哪些标头。spring-doc.cadn.net.cn

2.1.10. 可重试的主题更改

现在您可以使用同一个工厂来处理可重试和不可重试的主题。 有关更多信息,请参阅指定ListenerContainerFactoryspring-doc.cadn.net.cn

现在有一个可管理的全局致命异常列表,失败记录将直接进入DLT。 查看异常分类器了解如何进行管理。spring-doc.cadn.net.cn

您现在可以同时使用阻塞和非阻塞重试。 请参阅 结合使用阻塞和非阻塞重试 以获取更多信息。spring-doc.cadn.net.cn

The KafkaBackOffException 抛出时现在记录为 DEBUG 级别,当使用可重试主题特性时。 如需将日志级别更改为 WARN 或设置为其他级别,请参阅 更改 KafkaBackOffException 日志级别spring-doc.cadn.net.cn