这是场景:
我在 OSGi 容器中安装并启动了一个捆绑包“BundleA”。新版本的 BundleA 可用。BundleA 是使用 Felix Bundle Repository 提供的。新版本的 BundleA 对来自“BundleB”的包声明了新的包级别要求。
在我更新 BundleA(使用 OBR 的 deploy())之前,我停止了 BundleA,因为我希望所有线程都停止运行,并且 deactivator 提供了这种能力。
当我在 BundleA 上执行 deploy() 时,BundleB 也按预期安装。
然后我再次以编程方式 start() BundleA,并且 BundleA 启动。但是 BundleB 是“已解决”,而不是“活动”。我可以手动启动 BundleB,它按预期工作。
这是预期的,与我以编程方式调用 OSGi API 的方式有关,还是出了什么问题?