【发布时间】:2018-10-15 16:53:04
【问题描述】:
如果我停止 OSGi 框架,OSGi 蓝图组件不会被销毁(不会调用销毁方法)。为什么会这样,我该如何摧毁它们。我有自己的 OSGi 启动器实现。我正在使用关闭挂钩,然后停止 OSGi 框架:
Runtime.getRuntime().addShutdownHook(new Thread() {
@Override
public void run() {
Launcher.logService.log(LogService.LOG_WARNING, "HANDLE SHUTDOWN");
if(Launcher.framework != null) {
try {
Launcher.framework.stop();
} catch (BundleException e) {
Launcher.logService.log(LogService.LOG_ERROR, "Shutdown" + ((Launcher.framework != null) ? " of " + Launcher.framework.getSymbolicName() + " " : " ") + "failed!", e);
System.exit(-1);
}
}
}
});
【问题讨论】:
标签: java osgi blueprint-osgi