Osgi 在嵌入式ApacheFelix5上以编程方式设置捆绑包的启动级别

Osgi 在嵌入式ApacheFelix5上以编程方式设置捆绑包的启动级别,osgi,bundle,Osgi,Bundle,我已经在正在构建的应用程序中嵌入了ApacheFelix5.0.0 在将捆绑包安装到Felix framework对象时,我无法从代码中设置捆绑包的起始级别,而且我到处都看到人们使用Gogo手动执行捆绑包,但是因为我将自动安装并启动捆绑包,所以我希望能够从代码中设置起始级别 我该怎么做?我读过一些StartLevel类之类的东西,但我没有找到实际的工作代码来说明如何使用它来设置捆绑包的开始级别。如果使用嵌入式Felix,我想您会有一个框架实例。在这种情况下,我认为以下方法可行: Bundle b

我已经在正在构建的应用程序中嵌入了ApacheFelix5.0.0

在将捆绑包安装到Felix framework对象时,我无法从代码中设置捆绑包的起始级别,而且我到处都看到人们使用Gogo手动执行捆绑包,但是因为我将自动安装并启动捆绑包,所以我希望能够从代码中设置起始级别


我该怎么做?我读过一些StartLevel类之类的东西,但我没有找到实际的工作代码来说明如何使用它来设置捆绑包的开始级别。

如果使用嵌入式Felix,我想您会有一个框架实例。在这种情况下,我认为以下方法可行:

Bundle bundle = framework.getBundleContext().installBundle(location);
BundleStartLevel bundleStartLevel = bundle.adapt(BundleStartLevel.class);
bundleStartLevel.setStartLevel(xxx);

非常感谢你!很遗憾,Felix的文档太差了,我找不到像这样的东西,我认为这应该是很常见的。但它就像任何OSGi文档一样,完全缺乏,而且这些书确实过时了。我建议您检查一下OSGi核心规范。在您根据一些教程制作了一个示例应用程序之后,我认为它并不难阅读。