2012-05-30 39 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

相關問題