Eclipse RCP中的OSGi BundleListener和BundleTracker

时间:2012-02-07 23:50:05

标签: eclipse-rcp osgi equinox

我在监听Eclipse RCP中进入RESOLVED状态的OSGi包时遇到问题。 BundleListener或BundleTracker似乎都没有注意到捆绑包进入RESOLVED状态。

然而,监听器确实注意到RESOLVED为ACTIVE事件。在侦听器捆绑包有机会注册之前,启动配置的bundle部分是否可能进入RESOLVED状态?

还有一件事,我认为只要其他捆绑包(例如)尝试访问其服务/类,捆绑包就会懒惰/自动从RESOLVED变为ACTIVE?

干杯!

1 个答案:

答案 0 :(得分:1)

在激活任何捆绑包之前,很可能所有捆绑包都会被解析。必须激活bundle才能获得控制权,以便可以注册BundleListener或打开BundleTracker。

RESOLVED捆绑包可以加载类而不是ACTIVE。如果bundle被标记为延迟激活,则bundle中的第一类加载可以触发激活。