@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、實現集中在監聽類中


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM