diff --git a/spring-kafka-docs/src/main/antora/modules/ROOT/pages/kafka/receiving-messages/class-level-kafkalistener.adoc b/spring-kafka-docs/src/main/antora/modules/ROOT/pages/kafka/receiving-messages/class-level-kafkalistener.adoc index 3fdf026192..919fefd399 100644 --- a/spring-kafka-docs/src/main/antora/modules/ROOT/pages/kafka/receiving-messages/class-level-kafkalistener.adoc +++ b/spring-kafka-docs/src/main/antora/modules/ROOT/pages/kafka/receiving-messages/class-level-kafkalistener.adoc @@ -62,3 +62,25 @@ void listen(Object in, @Header(KafkaHeaders.RECORD_METADATA) ConsumerRecordMetad ... } ---- + +Also, this won't work as well. +The `topic` is resolved to the `payload`. + +[source, java] +---- +@KafkaHandler(isDefault = true) +public void listenDefault(String payload, @Header(KafkaHeaders.RECEIVED_TOPIC) String topic) { + // payload.equals(topic) is True. + ... +} +---- + +If there are use cases in which discrete custom headers are required in a default method, use this: +[source, java] +---- +@KafkaHandler(isDefault = true) +void listenDefault(String payload, @Headers Map headers) { + Object myValue = headers.get("MyCustomHeader"); + ... +} +----