我在Eclipse RCP中监听进入RESOLVED状态的OSGi捆绑包时遇到问题。BundleListener和BundleTracker似乎都没有注意到bundle进入RESOLVED状态。
然而,听众确实注意到RESOLVED to ACTIVE事件。在侦听器捆绑包有机会注册之前,启动配置的捆绑包部分是否可能进入RESOLVED状态?
还有一件事,我认为一旦其他捆绑包(例如)尝试访问它们的服务/类,捆绑包就会懒散地/自动地从RESOLVED变为ACTIVE?
干杯!
在激活任何捆绑包之前,所有捆绑包都有可能变成RESOLVED。必须激活bundle才能获得控制权,这样才能注册BundleListener或打开BundleTracker。
RESOLVED捆绑包可以在不处于活动状态的情况下加载类。如果捆绑包被标记为延迟激活,那么来自捆绑包的第一个类加载可以触发激活。