【问题标题】:Difference between @KafkaListener, @StreamListener and @ServiceActivator?@KafkaListener、@StreamListener 和 @ServiceActivator 的区别?
【发布时间】:2018-05-12 02:58:27
【问题描述】:

我想将 Kafka 与 Spring Boot 和 Avro 模式一起使用。 但我被困在“这三个听众之间有什么区别?”。 创建侦听器有 3 种可能性:使用 - @KafkaListener@StreamListener@ServiceActivator 注释方法。似乎他们都在监听传入的事件,但我看不到/发现这些解决方案之间的区别。

  1. 这三者有什么区别?
  2. 每种解决方案的优缺点是什么?
  3. 哪个更适合使用 Avro?

【问题讨论】:

    标签: spring-cloud-stream spring-kafka


    【解决方案1】:

    所以,我将从@KafkaListener 开始。那个很简单,因为它来自“spring-kafka”项目,可以在 Spring Cloud Stream 之外使用。

    @ServiceActivator 来自“spring-integraton”项目,与@KafkaListener 类似,可以在 Spring Cloud Stream 之外使用。

    两者都可以在 Spring Cloud Stream 应用程序内部使用 - 主要是为了方便。

    @StreamListener 是唯一一个原生于 Spring Cloud Stream 的。

    对于简单的情况,您可以自行选择。对于更复杂的情况,请参阅特定注释的额外功能。例如,您可以在使用@StreamListener时定义条件。

    【讨论】:

      猜你喜欢
      • 2018-08-25
      • 2016-10-08
      • 1970-01-01
      • 2020-06-17
      • 2020-03-12
      • 1970-01-01
      • 2021-12-17
      • 1970-01-01
      • 2022-08-16
      相关资源
      最近更新 更多