Tombstone Records

使用 compaction 主题时,具有 null 值(也称为 tombstone 记录)的记录表示已删除某个键。要接收 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
        }
    };
}