【问题标题】:Set a bundle start level programatically on embedded Apache Felix 5在嵌入式 Apache Felix 5 上以编程方式设置捆绑启动级别
【发布时间】:2015-05-15 16:53:34
【问题描述】:

我在我正在构建的应用程序中嵌入了 Apache Felix 5.0.0。

在将捆绑包安装到 Felix 框架对象时,我无法从代码中设置捆绑包的启动级别,而且我到处都看到人们使用 Gogo 手动执行此操作,但因为我将自动安装和启动捆绑包,我希望能够从我的代码中设置开始级别。

我该怎么做?我已经阅读了一些 StartLevel 类等,但我没有发现实际的工作代码显示如何使用它来设置捆绑启动级别。

【问题讨论】:

    标签: osgi bundle


    【解决方案1】:

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

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

    【讨论】:

    • 非常感谢!很遗憾,Felix 的文档太糟糕了,以至于我找不到像我认为应该很常见的东西。但它就像任何 OSGi 文档一样,完全缺乏,而且书籍确实过时了。
    • 我建议您检查 OSGi 核心规范。在你根据一些教程制作了一个示例应用程序之后,我认为它并不难阅读。
    猜你喜欢
    • 1970-01-01
    • 2017-11-05
    • 2018-10-07
    • 2016-10-06
    • 1970-01-01
    • 1970-01-01
    • 2015-02-06
    • 1970-01-01
    • 2014-08-25
    相关资源
    最近更新 更多