我想在主要方法中运行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. 如何设置cell.imageview框架
- 2. Eclipse与OSGi框架?
- 3. Dojo 1.7.2 as OSGI bundle
- 4. Apache Karaf和OSGI Bundle
- 5. 在KARAF OSGI Bundle上定制hibernate.cfg.xml位置
- 6. 如何从OSGi框架之外调用OSGi服务。
- 7. 如何在实体框架中设置Id
- 8. 不能运行的OSGi bundle
- 9. YouTube API - Oauth2 Flow(OSGI Bundle)
- 10. 如何设置路由Zend框架1.12
- 11. 没有OSGi框架的BIRT
- 12. arm-linux板的OSGi框架
- 13. Android SDK是OSGI框架吗?
- 14. 比较OSGi测试框架
- 15. maven-bundle-plugin问题(OSGI)
- 16. 覆盖OSGi中的Bundle classloader?
- 17. Osgi Bundle更新和ResourceBundle
- 18. 访问osgi bundle的lib jar
- 19. Zend框架设置
- 20. 设置UIView框架
- 21. 如何设置maven框架顶级pom
- 22. 玩框架2.5如何设置模式?
- 23. Zend框架如何设置头
- 24. 如何设置MNColorPicker的框架?
- 25. 如何设置其UserNotifications框架
- 26. 如何为cell.imageView.frame设置框架?
- 27. iPhone:如何设置UIViewController框架?
- 28. 如何在zend框架中设置cookie?
- 29. 如何设置Bundle并获取数据
- 30. 如何使用OSGi Equinox设置rxtx?
它重置编号。 – palacsint
@palacsint - 这个配置是否删除你在答案中提到的'equinox/org.eclipse.osgi'文件夹? – Reza
我认为它删除。 (我在'equinox/org.eclipse.osgi'文件夹中创建了一个空目录,在我用'clean = true'启动框架后它就消失了。) – palacsint