我有一个spring应用程序,它不会在关闭时调用bean destroy方法.我已经看到了由于在beanRefFactory实例化这个存在引用,这可以通过手动调用registerShutdownHook()上的应用context.This方法来规避似乎已经从版本2.0之间的弹簧消失 - 2.5.
有人能指出我现在的方向吗?
谢谢.
sfu*_*ger 17
此方法仍然可用ConfigurableApplicationContext并实现AbstractApplicationContext.
所以你可能会这样做
ApplicationContext ctx = ...;
if (ctx instanceof ConfigurableApplicationContext) {
((ConfigurableApplicationContext)ctx).registerShutdownHook();
}
Run Code Online (Sandbox Code Playgroud)
或者,您可以((ConfigurableApplicationContext)ctx).close()在关闭应用程序或使用自己的关闭挂钩时自行调用自己:
Runtime.getRuntime().addShutdownHook(new Thread() {
public void run(){
if (ctx instanceof ConfigurableApplicationContext) {
((ConfigurableApplicationContext)ctx).close();
}
}
});
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
16972 次 |
| 最近记录: |