2012-05-30 28 views
0

我有2个软件包A和B,使用Apache ACE我已在以下步骤中将这些软件包配置到目标。如何区分为ACE中的目标配置的软件/软件包

  1. 供应的(具有1.0.0版本)发送到目标
  2. 置备B(具有版本1.0.0)到目标
  3. 置备B(具有2.0.0版本)到目标(升级//本地主机:以前的版本步骤2)

当我访问(HTTP的8080 /部署/ gatewayid /版本)

我得到以下结果

1.0.0
2.0.0
3.0.0

将如何管理代理找出哪个版本属于哪个软件?

回答

1

每当目标的已配置工件组发生更改时,ACE都会为目标创建新版本。要真正看到版本中的内容,目标上的管理代理需要获取版本。您随后获得的部署包中包含您需要的所有元数据(即,工件及其版本的列表)。

0

当在与目标捆绑软件相同的OSGi框架中运行时,可以使用BundleContext访问捆绑软件并询问它们的安装版本。喜欢的东西,

for (Bundle b : bundleContext) { 
    System.out.println("Found bundle " + b.getSymbolicName() + " in version " + b.getVersion()); 
} 

如果您还需要了解这是否包已经从部署包安装的,你可以要求它为它的getLocation();根据部署管理规范,这将从osgi-dp:开始。

+0

感谢您的回复。在开发自定义管理代理时,我需要管理代理的信息。 – Vinod

+0

啊,对,我没有明白(你能否更新这个问题来澄清?)。您想知道什么,当前安装的部署版本或捆绑版本? –

+0

更新了问题。我想知道可用于特定目标的软件包名称和版本。 – Vinod

相关问题