`

eclipse调试equinox bundle时只能启动6个bundle的问题

阅读更多

最近写了一个equinox的OSGi工程,里面有十几个bundle需要启动时自动运行Activator类,在eclipse的“run/run configuration”中设置了这些插件为他们定义了startLevel参数。同时,.product配置中“configuration”中“Specify plug-ins and their associated start levels.”auto-start都设置成了true。但是发现,只有6个bundle是可以自动启动的。

 

怎么也想不明白,于是跟踪看了equinox源代码后发现,原来System.properties中必须有一个参数叫做osgi.startLevel。这个参数控制着自动启动的最大bundle个数,否则就默认使用DEFAULT_INITIAL_STARTLEVEL=6变量的值。这也就解释了我的bundle只能启动6个的原因。

 

想到config.ini的参数会被加载到System.properties里面,于是从runconfigurations的configuration选项卡里面记录的config area文件夹里面找到config.ini,并且增加了参数osgi.startLevel=19。但是结果却是,每次启动程序,这个config.ini都会被eclipse重写,osgi.startLevel就被消灭了。

 

没办法,最后解决办法是在“Arguments”选项卡中设置了VM argument增加了"-Dosgi.startLevel=19",才搞定。

分享到:
评论
2 楼 cai555 2010-03-29  
看了源代码才发现的
1 楼 oiunt 2010-03-27  
startLevel不是启动级别吗?和自动启动的数量有关系?

相关推荐

    基于Eclipse的Equinox框架开发OSGi Bundle应用

    5. **运行和调试**:利用Eclipse的调试器,可以方便地对Bundle进行单步调试,查看运行时状态。 **示例应用**:压缩包中的"osgi_example"可能包含了一个简单的OSGi Bundle示例,例如,创建一个HelloWorld服务,其他...

    org.eclipse.equinox.http.helper Bundle

    让OSGi支持JSP和JSF时必须用到的一个Bundle,有用到的可以下载,有耐心的童鞋也可到dev.eclipse.org的CVS开发空间去找找咯。

    基于EQUINOX的 OSGI BUNDLE 运行例子

    通过这个例子,学习者可以了解OSGi Bundle的结构,如何在EQUINOX上部署和管理它们,以及如何使用Eclipse作为开发工具来创建和调试OSGi应用。这涉及到理解Bundle的生命周期、MANIFEST.MF文件的编写、Eclipse插件的...

    org.eclipse.equinox.http.helper

    org.eclipse.equinox.http.helper 有些工程中没有该包 也可以自己从cvs中下载 具体请参照http://blog.csdn.net/hongweigg/article/details/5416067

    eclipse maven 打包bundle

    博客链接提供的文章可能更详细地介绍了这些步骤,并可能包括了如何处理特定问题、最佳实践,以及如何调试和测试OSGi bundle的方法。由于未提供具体的博客内容,以上信息是基于常规的OSGi和Maven打包流程给出的通用...

    Geting started with Equinox and OSGi

    8. **类加载策略**:Equinox采用了一种灵活的类加载策略,允许每个Bundle拥有独立的类加载器,从而避免了类路径污染的问题。这种策略确保了模块之间的隔离性,即使它们共享相同的类名。 总之,Equinox和OSGi提供了...

    org.eclipse.equinox.p2.examples.rcp.sdkui.rar

    标题中的"org.eclipse.equinox.p2.examples.rcp.sdkui.rar"是一个压缩文件,它包含了Eclipse Equinox P2的一个示例,专门针对基于RCP(Rich Client Platform)的应用程序的软件开发工具包(SDK)用户界面。这个...

    非eclipse环境启动demo

    在非Eclipse环境中启动OSGI应用的Demo是一个实用的技术实践,尤其对于开发者来说,了解如何在没有集成开发环境(IDE)支持的情况下运行OSGI服务至关重要。这个Demo主要展示了如何在只有Java Development Kit (JDK)的...

    使用Equinox开发OSGi应用程序

    从Eclipse环境中脱离,将Equinox OSGi应用程序部署为独立的Java应用,需要创建一个包含所有依赖bundle和Equinox运行时的启动脚本。启动脚本通常会调用Equinox提供的启动器,如`org.eclipse.osgi.launch....

    使用Equinox开发OSGI应用程序工程及源码

    Equinox是Eclipse基金会提供的一个OSGi实现,它是Eclipse IDE的基础,同时也被广泛用于构建可扩展的、灵活的和模块化的Java应用程序。 本教程将深入讲解如何使用Equinox开发OSGi应用程序,并提供相关的源码供学习和...

    osgi发布http服务的各种bundle,各种jar包,全全全~

    osgi发布http服务的各种bundle,各种jar包,全全全~非常好用...org.eclipse.equinox.ds_1.0.0.v20060601a.jar org.eclipse.equinox.servlet.api_1.0.0.v20060601.jar 还一大坨,我就不列了,只有你想不到,没有******

    基于Equinox开发OSGi应用(一)

    Equinox是Eclipse项目的一个组件,它提供了OSGi规范的实现,使我们能够构建模块化、可扩展且灵活的Java应用程序。OSGi(Open Service Gateway Initiative)是一种Java标准,它允许我们创建由小型、独立组件组成的...

    equinox-SDK-Mars.2.zip

    Equinox是Eclipse开源项目的核心组成部分,它是一个强大的OSGi(Open Service Gateway Initiative)框架实现。OSGi是一种模块化系统,允许Java应用程序以模块化方式构建,这些模块称为"bundle",每个bundle都有自己...

    深入理解OSGi:Equinox原理、应用与最佳实践源代码+equinox-SDK-3.8源代码

    Equinox是OSGi联盟实现OSGi规范的一个实现,由Eclipse基金会维护,广泛应用于企业级开发,如IBM WebSphere、Eclipse IDE等。本资源提供了深入理解OSGi:Equinox原理、应用与最佳实践的源代码分析,以及equinox-SDK-...

    equinox-1.7

    Equinox是Eclipse项目的一部分,它是一个开源的OSGi(开放服务网关规范)实现,用Java编写。OSGi是一种模块化系统,用于管理和运行Java应用程序。标题中的"equinox-1.7"指的是Equinox的1.7版本,这可能是该版本的一...

    equinox快速入门

    此外,还会涉及如何在Equinox运行时环境中部署和启动`myhello`项目,以及如何查看和管理bundle的状态。 总的来说,"equinox快速入门"旨在让初学者能够快速上手使用Equinox OSGi框架,通过实践操作理解模块化开发的...

    mysql\eclipse常见问题及解决方案

    1. **调试问题**:Eclipse在调试时可能会提示“Could not find bundle: org.eclipse.equinox.console”。这个问题通常是由于缺少必要的OSGI插件导致的。解决方法是在调试配置中,除了选择自己的OSGI组件,还需要添加...

    安装freemarker插件(freemarker的eclipse插件)

    d) 打开eclipse\configuration\org.eclipse.equinox.simpleconfigurator \bundles.info 在文件最后添加hudson.freemarker_ide,0.9.14,plugins/hudson.freemarker_ide_0.9.14/,4,false f) 注:hudson.freemarker_ide...

    深入理解OSGi:Equinox原理、应用与最佳实践.pdf

    Equinox是OSGi规范的一个实现,它是由Eclipse基金会开发的。本文将详细介绍OSGi Equinox的原理、应用以及最佳实践。 一、OSGi Equinox原理 OSGi框架的核心是其模块化系统,它将程序分割成一系列的“Bundle”,每个...

Global site tag (gtag.js) - Google Analytics