我需要开始使用卡夫卡。我很难弄清楚消费者应该收到什么:根据我的理解,我们可以通过多种方式配置消费者:
示例1:
@KafkaListener(topics = "topic_name)
public void receiveSimpleString(@Payload String message) {
}
Run Code Online (Sandbox Code Playgroud)
示例2:
@KafkaListener(topics = "topic_name)
public void receiveConsumerRecord(@Payload ConsumerRecord<String, String> message) {
}
Run Code Online (Sandbox Code Playgroud)
示例3:
@KafkaListener(topics = "topic_name)
public void receiveObject(@Payload SomeCustomClass message) {
}
Run Code Online (Sandbox Code Playgroud)
示例4:
@KafkaListener(topics = "topic_name)
public void receiveSpringMessage(@Payload org.springframework.messaging.Message<T> message) {
}
Run Code Online (Sandbox Code Playgroud)
也许还有更多的方法,但那些曾经是我在研究 kafka+spring 时最常看到的。
现在的问题是:
是否有关于消费者应该收到什么的最佳实践?不同的例子有优点/缺点吗?
java apache-kafka spring-boot kafka-consumer-api spring-kafka