When using compacted topics, a record with a null
value (also called a tombstone record) represents the deletion of a key.
To receive such messages in a @StreamListener
method, the parameter must be marked as not required to receive a null
value argument.
@StreamListener(Sink.INPUT) public void in(@Header(KafkaHeaders.RECEIVED_MESSAGE_KEY) byte[] key, @Payload(required = false) Customer customer) { // customer is null if a tombstone record ... }