我正在为Karaf开发一个复合特征(即包含其他特征作为嵌套元素的特征)。我想写出嵌套功能的配置文件,然后从外部作用域(即我正在编写的功能),我想重新启动嵌套功能中包含的包。
如何在运行时从另一个包中查询其所有包的功能。
如何从其他捆绑包动态重启捆绑包?
答案 0 :(得分:0)
对于所有两个操作,您需要org.osgi.framework.BundleContext
的实例 - 您可以在捆绑激活器中获得一个。
要查询功能(及其相关功能及其捆绑包),您需要访问Karaf的org.apache.karaf.features.FeaturesService
OSGi服务 - 例如使用BundleContext
' s getServiceReference()
方法
要获取任何捆绑包(能够重新启动它),您可以获得一个知道它的ID:BundleContext.getBundle("ID")