我想在主要方法中運行OSGi框架(Equinox)。 每次我啓動框架,當我打印BundleContext.getBundles().length
時,它表示框架上只安裝了1個Bundle(這當然是系統捆綁包)。 當我安裝我的第一個捆綁包時,捆綁ID將從最後一個會話繼續。假設我最後一次使用了4個bundle(並且在停止系統包之前我已經停止並卸載了所有這些包),那麼首先設置Bundle ID爲5. 現在,我想知道框架如何選擇bundle ID?爲什麼以及框架如何記住上一次會話,即使我已經卸載了所有的捆綁包?是否因爲Bundle Cache?如果是這樣,我如何清除緩存(重新從1開始編號)?OSGi框架如何設置Bundle ID?
5
A
回答
6
該框架在其管理的持久性存儲中的某處存在最後使用的捆綁ID。這個商店看起來像是一個框架實現細節。當您啓動框架時,您可以指定org.osgi.framework.storage.clean
框架配置屬性。這將清除所有已安裝的軟件包,但我不確定它是否會重置上次使用的軟件包ID。
2
刪除equinox/org.eclipse.osgi
文件夾將重置編號。在刪除之前,請確保您的軟件包在此文件夾下沒有任何重要數據。
的bundle
命令有效的捆綁ID可以顯示equinox/org.eclipse.osgi
文件夾的絕對路徑:
osgi> bundle 7
slf4j.api_1.6.1 [7]
Id=7, Status=ACTIVE Data Root=D:\temp\test\equinox\org.eclipse.osgi\bundles\7\data
...
相關問題
- 1. osgi start bundle NoClassDefFoundError
- 2. 擴展bundle在OSGi框架中的含義
- 3. 如何設置cell.imageview框架
- 4. 如何設置ContainerViewController框架?
- 5. Eclipse與OSGi框架?
- 6. 有一個問題設置框架ID
- 7. 實體框架ID未設置
- 8. Apache Karaf和OSGI Bundle
- 9. Dojo 1.7.2 as OSGI bundle
- 10. 在KARAF OSGI Bundle上定製hibernate.cfg.xml位置
- 11. 如何設置ID,以記者在實體框架
- 12. 如何在實體框架中設置Id
- 13. 如何添加OSGi WAR bundle bundle eclipse目標平臺
- 14. 如何從OSGi框架之外調用OSGi服務。
- 15. 不能運行的OSGi bundle
- 16. 如何設置路由Zend框架1.12
- 17. YouTube API - Oauth2 Flow(OSGI Bundle)
- 18. Android SDK是OSGI框架嗎?
- 19. 沒有OSGi框架的BIRT
- 20. 比較OSGi測試框架
- 21. arm-linux板的OSGi框架
- 22. Microsoft插件框架vs OSGi?
- 23. OSGI Spring MVC的JSP框架
- 24. maven-bundle-plugin問題(OSGI)
- 25. 從OSGi Bundle註冊ServletRequestListener
- 26. 訪問osgi bundle的lib jar
- 27. 覆蓋OSGi中的Bundle classloader?
- 28. Osgi Bundle更新和ResourceBundle
- 29. 如何在zend框架中設置cookie?
- 30. 如何設置maven框架頂級pom
它重置編號。 – palacsint
@palacsint - 這個配置是否刪除你在答案中提到的'equinox/org.eclipse.osgi'文件夾? – Reza
我認爲它刪除。 (我在'equinox/org.eclipse.osgi'文件夾中創建了一個空目錄,在我用'clean = true'啓動框架後它就消失了。) – palacsint