何时使用 org.springframework.context.event.EventListener 和 org.springframework.cloud.stream.annotation.StreamListener?

问题描述 投票:0回答:1

我正试图从spring cloud中学习事件驱动消息驱动的概念,我遇到了@EventListener和@StreamListener这两个注解。能否有人指导我理解这两个的基本区别?TIA。

java spring-boot spring-cloud spring-cloud-stream
1个回答
0
投票

事实上,对于spring-cloud-stream,我们正在从基于注解的配置模型中走出来,并拥抱约定俗成的配置功能模型,所以,举个例子,下面是一个功能齐全的spring-cloud-stream应用,它将接收和处理消息。

@SpringBootApplication
public class LoggingConsumerApplication {

    public static void main(String[] args) {
        SpringApplication.run(LoggingConsumerApplication.class, args);
    }

    @Bean
    public Consumer<String> log() {
        return value -> {
            System.out.println("Received: " + value);
        };
    }
}

你可以得到更多的细节 此处

我还建议阅读这两篇文章,它们提供了一些历史和动机,说明我们为什么要从 "一带一路 "中走出来。@StreamListener 并变成更简单的函数式编程模型。

  1. https:/spring.ioblog20191014spring-cloud-stream-demystified and-simplified。
  2. https:/spring.ioblog20191017spring-cloud-stream-functional and-reactive。

希望能帮到你

© www.soinside.com 2019 - 2024. All rights reserved.