对于最新的稳定版本,请使用 Spring for Apache Kafka 3.2.1! |
对于最新的稳定版本,请使用 Spring for Apache Kafka 3.2.1! |
自 3.0 以来 3.1 中的新增功能
本节介绍从 3.0 版到 3.1 版所做的更改。 有关早期版本中的更改,请参阅更改历史记录。
EmbeddedKafkaBroker
现在提供了一个额外的实现来代替 Zookeeper。
有关更多信息,请参见 Embedded Kafka Broker。Kraft
Json解串器
发生反序列化异常时,消息不再包含格式为 ;每个数据字节的数值数组没有用,对于大数据可能很详细。
当与 一起使用时,发送到错误处理程序包含包含无法反序列化的原始数据的属性。
当不与 一起使用时,将不断发出同一记录的异常,显示主题/分区/偏移量以及 Jackson 抛出的原因。SerializationException
Can’t deserialize data [[123, 34, 98, 97, 122, …
ErrorHandlingDeserializer
DeserializationException
data
ErrorHandlingDeserializer
KafkaConsumer
容器后处理器
通过在注释上指定 a 的 Bean 名称,可以将后处理应用于侦听器容器。
这将在创建容器并在容器工厂上配置任何配置之后发生。
有关详细信息,请参阅容器工厂。ContainerPostProcessor
@KafkaListener
ContainerCustomizer
ErrorHandling解串器
您现在可以向此反序列化程序添加 a;如果委托成功反序列化对象,但该对象未通过验证,则会引发类似于发生的反序列化异常的异常。
这允许将原始原始数据传递到错误处理程序。
有关更多信息,请参见使用 ErrorHandlingDeserializer
。Validator
Deserializer
可重试主题
将后缀更改为 when 。
如果要保留后缀,请使用 .
有关详细信息,请参阅主题命名。-retry-5000
-retry
@RetryableTopic(backoff = @Backoff(delay = 5000), attempts = "2", fixedDelayTopicStrategy = FixedDelayStrategy.SINGLE_TOPIC)
-retry-5000
@RetryableTopic(backoff = @Backoff(delay = 5000), attempts = "2")
侦听器容器更改
当使用者手动分配分区时,现在会自动强制使用 。
有关详细信息,请参阅手动分配所有分区。null
group.id
AckMode
MANUAL