我想将Kafka与Spring Boot和Avro架构一起使用。
但是我被困在'这三个听众之间有什么区别?'。
创建侦听器有三种可能性:使用 - @KafkaListener
,@StreamListener
或@ServiceActivator
注释方法。似乎所有人都在监听传入事件,但我无法看到/发现这些解决方案之间的差异。
答案 0 :(得分:7)
所以,我将从@KafkaListener
开始。这个很简单,因为它来自“spring-kafka”项目,可以在Spring Cloud Stream之外使用。
@ServiceActivator
来自“spring-integraton”项目,类似于@KafkaListener
可以在Spring Cloud Stream之外使用。
两者都可以在Spring Cloud Stream应用程序中使用 - 主要是为了方便。
@StreamListener
是唯一一个Spring Cloud Stream原生的。
对于简单的情况,您可以选择。对于更复杂的情况,请参阅特定注释的额外功能。例如,您可以在使用@StreamListener
时定义条件。