Skip to content

Commit 2aa5d38

Browse files
Add docs to describe how to use Headers in default method.
Signed-off-by: chickenchickenlove <[email protected]>
1 parent 02d4df8 commit 2aa5d38

File tree

1 file changed

+22
-0
lines changed

1 file changed

+22
-0
lines changed

spring-kafka-docs/src/main/antora/modules/ROOT/pages/kafka/receiving-messages/class-level-kafkalistener.adoc

Lines changed: 22 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -62,3 +62,25 @@ void listen(Object in, @Header(KafkaHeaders.RECORD_METADATA) ConsumerRecordMetad
6262
...
6363
}
6464
----
65+
66+
Also, this won't work as well.
67+
The `payload` value will be injected as the `topic`.
68+
69+
[source, java]
70+
----
71+
@KafkaHandler(isDefault = true)
72+
public void listenDefault(String payload, @Header(KafkaHeaders.RECEIVED_TOPIC) String topic) {
73+
// payload.equals(topic) is True.
74+
...
75+
}
76+
----
77+
78+
If you need discrete custom headers in a default method, use this:
79+
[source, java]
80+
----
81+
@KafkaHandler(isDefault = true)
82+
void listenDefault(String payload, @Headers Map<String, Object> headers) {
83+
Object myValue = headers.get("MyCustomHeader");
84+
...
85+
}
86+
----

0 commit comments

Comments
 (0)