如何使用java停止特定的Apache Felix软件包

如何使用java停止特定的Apache Felix软件包

问题描述:

我想知道如何在仅运行java代码的Apache Felix Web控制台中停止特定的软件包。如何使用java停止特定的Apache Felix软件包

例如:我想能够检索一个包,让我们说名称,并停止它。

在此先感谢!

从控制台:

  1. find 'bundle-name' //显示束,从这里得到的ID。
  2. stop 'id'

从代码:

  1. 首先得到使用PackageAdmin.getBundles(name)
  2. 呼叫Bundle.stop上捆绑捆绑对象。

编辑: 要获得PackageAdmin对象:

ServiceReference ref = context.getServiceReference(PackageAdmin.class.getName()); 
PackageAdmin pa = (ref == null) ? null : (PackageAdmin) context.getService(ref); 
+0

感谢您的及时回复!对不起,我真的很陌生,但我该如何创建PackageAdmin对象,以便它可以访问服务器上托管的所有包? – jason

+0

我已经更新了示例代码的答案,以获取包管理员引用 –

+0

也可以看到这个细节:http://stackoverflow.com/questions/785588/how-to-discovering-types-exported-by-osgi-bundle-without -installing-activating?answertab = votes#tab-top –