监听SpringBoot 服务启动成功事件并打印信息
第一步:
定义一个组件实现ApplicationListener<AvailabilityChangeEvent>,并纳入到容器
@Component
@Slf4j
public class ServiceRunSuccessListener implements ApplicationListener<AvailabilityChangeEvent> {
@Override
public void onApplicationEvent(AvailabilityChangeEvent event) {
log.info("===> boot 监听到事件:" + event);
if (ReadinessState.ACCEPTING_TRAFFIC == event.getState()){
log.info("===> boot 服务启动成功******");
}
}
}
第二步:启动服务
2022-03-23 09:34:02.695 INFO 40824 --- [ main] com.zaxxer.hikari.HikariDataSource : HikariPool-1 - Starting...
2022-03-23 09:34:03.412 INFO 40824 --- [ main] com.zaxxer.hikari.HikariDataSource : HikariPool-1 - Start completed.
2022-03-23 09:34:03.693 INFO 40824 --- [ main] o.s.b.w.embedded.tomcat.TomcatWebServer : Tomcat started on port(s): 10086 (http) with context path ''
2022-03-23 09:34:03.715 INFO 40824 --- [ main] com.hkwl.hkboot.HkBootApplication : Started HkBootApplication in 5.865 seconds (JVM running for 8.727)
2022-03-23 09:34:03.718 INFO 40824 --- [ main] c.h.h.s.l.ServiceRunSuccessListener : ===> boot 监听到事件:org.springframework.boot.availability.AvailabilityChangeEvent[source=org.springframework.boot.web.servlet.context.AnnotationConfigServletWebServerApplicationContext@16c63f5, started on Wed Mar 23 09:33:59 CST 2022]
2022-03-23 09:34:03.721 INFO 40824 --- [ main] c.h.h.s.l.ServiceRunSuccessListener : ===> boot 监听到事件:org.springframework.boot.availability.AvailabilityChangeEvent[source=org.springframework.boot.web.servlet.context.AnnotationConfigServletWebServerApplicationContext@16c63f5, started on Wed Mar 23 09:33:59 CST 2022]
2022-03-23 09:34:03.721 INFO 40824 --- [ main] c.h.h.s.l.ServiceRunSuccessListener : ===> boot 服务启动成功******