我们使用 Felix 作为我们的 OSGi 框架和 Felix 依赖管理器来管理我们的 OSGi 组件。我们有一种情况,我们在组件的 start 方法中加载和验证 XML。如果针对模式的 XML 验证失败,我们希望停止捆绑。我们有
- 试图在 start 方法中抛出异常,但 bundle 仍然处于活动状态
在 start 方法中调用了 Bundle 的 stop 方法,但这会将 bundle 设置为不稳定(停止)状态。
FrameworkUtil.getBundle(this.getClass()).stop();
如果 start 方法存在致命问题,那么实现此要求的正确方法是什么,bundle 应该保持停止状态?