ApplicationPreparedEvent:context已经创建且没有refresh发送个事件。 ApplicationStartedEvent:context已经refresh且application and command-line runners(如果有) 调用之前发送这个事件。 ApplicationReadyEvent:application and command-line runners (如果有)执行完后发送这个事件,此时应用已经启动完毕,这个事件比较常用,常常在系...
1. 实现ApplicationListener<E extends ApplicationEvent>接口 2. ApplicationEvent的子类可以是ApplicationReadyEvent或者ContextRefreshedEvent 3. ApplicationReadyEvent的示例 @Component @Slf4jpublicclassApplicationInitimplementsApplicationListener<ApplicationReadyEvent>{//项目启动后预热JSON@OverridepublicvoidonApplicationEvent(...
1. 启动完成 主要发布了ApplicationStartedEvent, ApplicationReadyEvent事件, 以及启动失败异常处理, 发布启动失败事件 publicclassSpringApplication{publicConfigurableApplicationContextrun(String...args){StopWatchstopWatch=newStopWatch();stopWatch.start();ConfigurableApplicationContextcontext=null;Collection<SpringBootExc...
ApplicationStartingEvent:在Spring最开始启动的时候触发 ApplicationEnvironmentPreparedEvent:在Spring已经准备好上下文但是上下文尚未创建的时候触发 ApplicationPreparedEvent:在Bean定义加载之后、刷新上下文之前触发 ApplicationStartedEvent:在刷新上下文之后、调用application命令之前触发 ApplicationReadyEvent:在调用applicaiton命令之后...
springboot启动时多次监听到ApplicationReadyEvent事件 https://blog.csdn.net/weixin_43378325/article/details/118277450
ApplicationEnvironmentPreparedEvent:环境事先准备 三.监听器的使用 第一:首先定义一个自己使用的监听器类并实现ApplicationListener接口。 @Componen public class MessageReceiver implements ApplicationListener<ApplicationReadyEvent> { private Logger logger = LoggerFactory.getLogger(MessageReceiver.class); ...
ApplicationReadyEvent:在调用applicaiton命令之后触发 ApplicationFailedEvent:在启动Spring发生异常时触发 另外: ApplicationRunner和CommandLineRunner的执行在第五步和第六步之间 Bean的创建在第三步和第四步之间 在启动类中,执行SpringApplication.run()方法后的代码,会在第六步后执行 ...
@EventListener(ApplicationReadyEvent.class) public void startApp() { var webClient = WebClient.create("http://time.jsontest.com/"); Mono<TimeResponse> result = webClient.get() .retrieve() .bodyToMono(TimeResponse.class); result.subscribe(res -> logger.info("{}", res)); ...
从上面的列表中,我们可以看到ApplicationStartedEvent位于ApplicationPreparedEvent之后,ApplicationReadyEvent之前。 下面我们通过代码的方式来直观的感受这个事件的切入位置,以便与将来我们在这个切入点加入自己需要的逻辑。 第一步:我们可以编写ApplicationPreparedEvent、ApplicationStartedEvent以及ApplicationReadyEvent三个事件的监听...
ApplicationReadyEvent 该事件表示application应该初始化完成,可以准备接收请求。 Event published as late as conceivably possible to indicate that the application is ready to service requests. The source of the event is the SpringApplication itself, but beware of modifying its internal state since all initi...