2013-07-17 90 views
0

我正在嘗試開發一個可由其用戶配置的應用程序。我需要通過安裝/更新/停止/卸載軟件包來完成配置。所有這些當然都應該在應用程序運行時動態完成。Apache Felix FileInstall適用於應用程序的動態配置嗎?

我找到了一個很好的框架,它是Apache Felix FileInstall,它提供了一個目錄,當你在目錄中添加包文件(更新和刪除包類似)時,它似乎添加了一個包。

但我可以看到,這種方法不適用於我的情況。我需要在目錄中有捆綁包,但要停止或甚至通過我的應用程序卸載它們。我想在適當的時候安裝它們。這是我期待我的應用程序的配置完成。

我試圖實現Apache FileInstall的支持嗎?我對這個框架有任何錯誤的假設嗎?如果Apache FileInstall不夠用,其他可能的方式會對我有什麼幫助?謝謝。

回答

2

爲此,您不需要FileInstall,只需使用OSGi API即可。您特別提到了安裝,更新,停止和卸載;這些都是用下面的API調用分別支持:

  • BundleContext.installBundle
  • Bundle.update
  • Bundle.stop
  • Bundle.uninstall

順便說一下這些正是由FileInstall打電話來實現相同的方法,其基於目錄的捆綁管理。

+0

你是說我不需要在運行應用程序之前最初添加我的包?我的意思是,我可以讓我的應用程序安裝一個新的軟件包,或使用這些方法動態替換現有的軟件包? –

+0

是的。當然,管理其他軟件包的軟件包*需要最初安裝並啓動。我們通常將這種捆綁稱爲「管理代理」。 FileInstall也是一個管理代理。 –

+0

謝謝。我一直在尋找很多如何使用這些方法以及將它們放在代碼中的位置?你有任何可以引導我的鏈接嗎? –

相關問題