79471533

Date: 2025-02-27 03:25:00
Score: 1.5
Natty:
Report link

There is an easy approach for this. Assume we have topic A and topic B where A needs to use KafkaAvroDeserializer while B needs to use StringDeserializer. Utilize properties of @KafkaListner to set the required values.

@KafkaListener(
topics = "topicA",
properties = {
    "key.deserializer=io.confluent.kafka.serializers.KafkaAvroDeserializer",
    "value.deserializer=io.confluent.kafka.serializers.KafkaAvroDeserializer"
})
public void consumeTopicA() {}

@KafkaListener(
topics = "topicB",
properties = {
    "key.deserializer=org.apache.kafka.common.serialization.StringDeserializer",
    "value.deserializer=org.apache.kafka.common.serialization.StringDeserializer"
})
public void consumeTopicB() {}
Reasons:
  • Long answer (-0.5):
  • Has code block (-0.5):
  • User mentioned (1): @KafkaListner
  • Self-answer (0.5):
  • Low reputation (1):
Posted by: Kstackr