在看代码的时候,注意到一个spring监听器监听某个事件
WebServerInitializedEvent这个事件,所以就学习Lexar,做个初步的了解
那这个事件的发布者是谁呢?
在微服务的过程中,会注册到注册中心。这个过程用到了事件通知机制,springboot项目初始化过程中会调用内置tomcat,然后tomcat启动完成后,发布通知,nacos会监听到这个通知,然后执行注册流程。
ServletWebServerApplicationContext这个类中有一系列的方法,其中有个
private volatile WebServer webServer;
private void createWebServer() {
WebServer webServer = this.webServer;
ServletContext servletContext = this.getServletContext();
if (webServer == null && servletContext == null) {
ServletWebServerFactory factory = this.getWebServerFactory();
this.webServer = factory.getWebServer(new ServletContextInitializer[]{this.getSelfInitializer()});
this.getBeanFactory().registerSingleton("webServerGracefulShutdown", new WebServerGracefulS