使用方法
Lifecycle:容器的生命周期回调,容器启动之后运行到某些节点(容器start/stop时候)可以回调Lifecycle子类的方法。比如在容器启动后初始化资源池,在容器停止时候调用资源池销毁的动作
我们实现Lifecycle中接口。注:建议实现SmartLifecycle接口,因为它Lifecycle接口的加强接口,默认实现了stop(Runnable callback),在调用中通过一个CountdownLatch来异步处理stop,SmartLifecycle非常不建议实现stop(Runnable callback)方法
1 | public interface Lifecycle { |
在Lifecycle的基础上实现了onRefresh和onClose接口。参见前面:Spring源码-ApplicationContext文章中finishRefresh中的代码片段。onRefresh会调用Lifecycle实现类的start()方法
1 | // Initialize lifecycle processor for this context. |
1 | public interface LifecycleProcessor extends Lifecycle { |
调用流程
tbd