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