springboot 应用程序事件和侦听器

1.7 springboot 应用程序事件和侦听器

除了通常的Spring框架事件,比如ContextRefreshedEvent, SpringApplication还会发送一些额外的应用事件。

	有些事件实际上是在ApplicationContext创建之前被触发的,所以您不能将这些事件的侦听器注册为@Bean。
你可以SpringApplication.addListeners(…)方法或SpringApplicationBuilder.listeners(…)方法注册它们。
如果您希望自动注册这些侦听器,而不管应用程序是以何种方式创建的,那么您可以添加一个META-INF/spring.factories到你的项目,
并通过使用 org.springframework.context.ApplicationListener键引用你的listener(s),如下所示:
org.springframework.context.ApplicationListener=com.example.project.MyListener

当应用程序运行时,应用程序事件按以下顺序发送:
1.ApplicationStartingEvent在运行开始时发送,但在任何处理之前,侦听器和初始化器的注册除外。
2.当在上下文中使用的Environment已知,但在创建上下文中之前,将发送 ApplicationEnvironmentPreparedEvent。
3.当ApplicationContext被准备好并且ApplicationContextInitializedEvent被调用,但是在任何bean定义被加载之前,一个ApplicationContextInitializedEvent被发送。
4.ApplicationPreparedEvent在启动刷新之前,但在加载bean定义之后发送。
5.ApplicationStartedEvent在刷新上下文之后,但在调用任何应用程序和命令行运行程序之前被发送。6.AvailabilityChangeEvent在LivenessState之后被发送。正确,表示应用程序被认为是活动的。
7.在调用了任何应用程序和命令行运行程序之后,都会发送一个ApplicationReadyEvent
8.一个AvailabilityChangeEvent在ReadinessState之后被发送。ACCEPTING_TRAFFIC表示应用程序已经准备好服务请求。
9.如果启动时出现异常,则发送一个ApplicationFailedEvent。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值