Spring事件处理

spring事件处理就是当容器加载管理的bean时伴随一系列的事件发生和处理的操作,如启动,停止,监听等。

spring的内置事件

*ContextRefreshedEvent:*ApplicationContext被初始化或刷新时,该事件被发布,这也可以在ConfigurableApplicationContext接口中使用refresh()方法来发生。
*ContextStartedEvent:*当使用ConfigurableApplicationContext接口中的start()方法启动ApplicationContext时,该事件被发布,你可以调查你的数据库,或者你可以在接受到这个事件后重启任何停止的应用程序。
*ContextStoppedEvent:*当使用ConfigurableApplicationContext接口中的stop()方法停止ApplicationContext时,发布这个事件,你可以在接受到这个事件后做必要的清理工作。
*ContextCloseEvent:*当使用ConfigurableApplicationContext接口中的close()方法关闭ApplicationContext时,该事件被发布,一个已关闭的上下文到达生命周期末端,它不能被刷新或重启。
*RequestHandledEvent:*这是一个web-specific事件,告诉所有beanHTTP请求已经被服务(特殊请求)。

**特别注意:**Spring的事件处理是单线程的,所有如果一个事件被发布,直至所有的接收者得到的消息,或者进程被阻塞否则流程将不会停止。

猜你喜欢

转载自blog.csdn.net/qq_40744061/article/details/83780312