加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 编程开发 > Java > 正文

java – 如何定义OSGi捆绑包启动级别?

发布时间:2020-12-15 00:25:22 所属栏目:Java 来源:网络整理
导读:如何定义OSGi软件包启动级别? 我正在使用Apache felix,并希望通过框架执行来保持起始级别.我不期望在Manifest中的一个条目中经常更改捆绑的开始级别.MF似乎是最明智的.我要org.osgi.framework.startlevel,但没有看到一个实际的例子. 我也使用maven与maven-b
如何定义OSGi软件包启动级别?

我正在使用Apache felix,并希望通过框架执行来保持起始级别.我不期望在Manifest中的一个条目中经常更改捆绑的开始级别.MF似乎是最明智的.我要org.osgi.framework.startlevel,但没有看到一个实际的例子.

我也使用maven与maven-bundle-plugin,如果有一个优雅的方式来整合POM中的开始级别,这将是辉煌的.

解决方法

软件包在构建时没有定义自己的开始级别;将bundle安装到框架中的管理员或代理定义它.

核心框架在第8节中定义了开始级别界面.引用:

The Start Level API provides the following functions:

  • Controls the beginning start level of the OSGi Framework.

  • Is used to modify the active start level of the Framework.

  • Can be used to assign a specific start level to a bundle.

  • Can set the initial start level for newly installed bundles.

最后两个与您的询问有关.第8.3.4节 – 更改软件包的开始级别 – 指示框架将持续存储分配的启动级别.

如果您使用Apache Felix,则可以通过多种方式安装软件包并分配其启动级别,无论是显式还是允许它们继承已安装软件包的默认启动级别:

> Felix File Install(请参阅felix.fileinstall.start.level属性,尽管它不是每个bundle)
> Felix Bundle Auto-Deploy(见felix.auto.install.<n> property)
> GoGo Shell Command(见the bundlelevel command)

另外,请参阅felix.startlevel.bundle property,它通过上述方式控制捆绑.

至于设置清单属性(例如在构建时使用Maven),以前有一种方法可以在Equinox中执行此操作 – 现在已经被弃用了 – 但是没有一个标准的方法来将一个bundle指示给框架什么是正确的开始级别应该.

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读