我的应用程序从属性文件中获取类名.由这些类名表示的类可以驻留在某些未知的OSGI包中,因此为了实例化它们,我首先必须找到这些类所属的包.我正在考虑从BundleContext#getBundles获取所有已安装的bundle,这意味着我必须在AbstractUIPlugin #start中获得对BundleContext的引用.但我不确定持有对BundleContext的引用是否正确,因为它只应该在start方法中使用.因此,我需要OSGI专家提供有关获取捆绑包列表的替代方案的建议.
任何帮助将不胜感激.
问候,
Setya
这不是OSGi的真正意图.如果捆绑包有某些内容要添加到"全局"上下文中,则应注册服务.所以每个有共享内容的bundle都可以在自己的start方法中做到这一点.
然后,其他一些组件(DS,ServiceTracker,Blueprint,类似的东西)可以监听这些事件,并采取相应的行动.
这非常重要,如果您开始手动搜索所有捆绑包,则会完全失去OSGi的优势.
| 归档时间: |
|
| 查看次数: |
1529 次 |
| 最近记录: |