我在监听Eclipse RCP中进入RESOLVED状态的OSGi包时遇到问题。 BundleListener或BundleTracker似乎都没有注意到捆绑包进入RESOLVED状态。
然而,监听器确实注意到RESOLVED为ACTIVE事件。在侦听器捆绑包有机会注册之前,启动配置的bundle部分是否可能进入RESOLVED状态?
还有一件事,我认为只要其他捆绑包(例如)尝试访问其服务/类,捆绑包就会懒惰/自动从RESOLVED变为ACTIVE?
干杯!
答案 0 :(得分:1)
在激活任何捆绑包之前,很可能所有捆绑包都会被解析。必须激活bundle才能获得控制权,以便可以注册BundleListener或打开BundleTracker。
RESOLVED捆绑包可以加载类而不是ACTIVE。如果bundle被标记为延迟激活,则bundle中的第一类加载可以触发激活。