@EventListener用法

一、应用场景

  • Eureka服务自动注册(tomcat启动后自动注册服务)

二、工作原理

ApplicationEvent:发布/订阅的通信媒介,应用事件。默认有上下文事件(contextClosedEvent等)

ApplicationEventPublisher:发布者;可发布ApplicationEvent

@EventListener:订阅者;监听某个事件发生后,自动调用方法

WebServerInitializedEven:自定义事件,继承ApplicationEvent;tomcat

三、用例

@EnableDiscoveryClient:注册中心服务自动注册;默认实现类之一Eureka自动注册。

@EnableEurekaClient:Eureka注册中心服务自动注册;注册流程为:

  • SpringBoot初始化服务
  • SpringBoot启动tomcat成功之后,发布服务器启动成功事件WebServerInitializedEvent
  • EurekaAutoServiceRegistration:通过EventListener订阅事件WebServerInitializedEvent,并向Eureka注册服务。

四、SWOT分析

S W O T
@EventListener 1、可直接在方法上注释,使用方便 1、较分散
实现ApplicationListener接口 1、实现集中在监听类中
posted @ 2022-04-14 18:17  SArtOnline  阅读(1368)  评论(0编辑  收藏  举报