墓碑记录

使用压缩主题时,值为 null 的记录(也称为墓碑记录)表示已删除密钥。要在 Spring Cloud Stream 函数中接收此类消息,可以使用以下策略。

@Bean
public Function<Message<Person>, String> myFunction() {
    return value -> {
        Object v = value.getPayload();
        String className = v.getClass().getName();
        if (className.isEqualTo("org.springframework.kafka.support.KafkaNull")) {
            // this is a tombstone record
        }
        else {
            // continue with processing
        }
    };
}