【发布时间】:2021-10-29 08:47:51
【问题描述】:
我的消费者配置如下:
@Bean
public Consumer<Message<List<Foo>>> consumer() {
return message -> {
message.getPayload().forEach(it -> {
// process
})
};
}
我还配置了ErrorHandlingDeserializer,它可能会在消息有效负载集合中产生KafkaNull 值。我无法过滤此类值的问题是因为使用 forEach() 方法访问集合会产生 ClassCastException:
java.lang.ClassCastException: class org.springframework.kafka.support.KafkaNull cannot be cast to class Foo
如何从处理中排除 KafkaNull 值(不将使用者的签名更改为 Consumer<Message<List<Object>>>)?
【问题讨论】:
标签: java apache-kafka spring-kafka spring-cloud-stream