如何使用java停止特定的Apache Felix软件包
问题描述:
我想知道如何在仅运行java代码的Apache Felix Web控制台中停止特定的软件包。如何使用java停止特定的Apache Felix软件包
例如:我想能够检索一个包,让我们说名称,并停止它。
在此先感谢!
答
从控制台:
-
find 'bundle-name'
//显示束,从这里得到的ID。 stop 'id'
从代码:
- 首先得到使用PackageAdmin.getBundles(name)
- 呼叫Bundle.stop上捆绑捆绑对象。
编辑: 要获得PackageAdmin对象:
ServiceReference ref = context.getServiceReference(PackageAdmin.class.getName());
PackageAdmin pa = (ref == null) ? null : (PackageAdmin) context.getService(ref);
感谢您的及时回复!对不起,我真的很陌生,但我该如何创建PackageAdmin对象,以便它可以访问服务器上托管的所有包? – jason
我已经更新了示例代码的答案,以获取包管理员引用 –
也可以看到这个细节:http://stackoverflow.com/questions/785588/how-to-discovering-types-exported-by-osgi-bundle-without -installing-activating?answertab = votes#tab-top –