Lifecycle
来源:互联网 发布:网络组件设备选型 编辑:程序博客网 时间:2024/06/08 09:02
一个通用接口,定义了控制Bean生命周期的方法。
此接口通用的应用场景为异步处理。此接口并没有自动启动的语义在里面。如果需要这种功能,可以考虑实现SmartLifecycle接口。
此接口既可以被Spring的各组件实现,也可以被容器本身实现。当实现此接口的类本身是Container时,在容器上调用此接口的方法的同时,容器本身应该通知其包含的所有实现了此接口的组件。
需要注意的是,在Spring中,只有顶层的单例Bean才能使用此接口的功能。其他类型的Bean即使实现了此接口,Spring也会忽略。这时可以考虑使用SmartLifecycle接口,此接口继承了应用上下文的启动和销毁过程
public interface Lifecycle { /** * 启动组件 * 即使组件已经启动,也不应该抛异常。直接不处理就好 * 如果实现类是容器的话,向其包含的所有组件发送start信号。 */ void start(); /** * 关闭组件,通常来将,这种同步处理的。在此方法返回后,组件就应该已经关闭。如果要异步关闭组件 * 考虑实现SmartLifecycle接口。 * 需要注意的是,并不能保证stop notification一定在bean的destruction之前:对于正常的关闭,实现了Lifecycle * 的bean会首先收到stop notification然后才处理destruction回调函数;但是当在调用ApplicationContext的 * refresh的时候退出的话,Bean的stop 方法不会被调用 */ void stop(); /** * 检测当前应用是否是正在运行。 * 当实现类是容器时煤,只有在其所有的组件都在运行才会返回true */ boolean isRunning();}
阅读全文
0 0
- lifecycle
- LifeCycle
- Lifecycle
- Activity Lifecycle & Fragment Lifecycle
- hibernate lifecycle
- android lifecycle
- android:lifecycle
- unity lifecycle
- Lifecycle(生命周期)
- Activity Lifecycle
- Activity Lifecycle
- Application lifecycle
- Activity Lifecycle
- Service Lifecycle
- Tomcat Lifecycle
- 操作Lifecycle
- plm(Product lifecycle management)
- Lifecycle of an ActionForm
- svg动画的学习
- vue父子组件之间的通信
- springcloud启动报错
- 利用CloseXML导出EXCEL
- Xamarin(vs2015) Android控件 WebView加载网页
- Lifecycle
- mysql使用笔记
- Maven常见问题之Eclipse创建Maven工程,pom.xml报错的解决办法
- [HPU
- 2017暑假训练第十三天
- JSP乱码问题
- 【unity】【Code】【Event事件】通用代码库(三)——Unity事件与委托
- uva 12545 Bits Equalizer(贪心)
- 【排序算法】:基数排序