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

前端之家收集整理的这篇文章主要介绍了java – 如何定义OSGi捆绑包启动级别?前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
如何定义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指示给框架什么是正确的开始级别应该.

原文链接:https://www.f2er.com/java/126453.html

猜你在找的Java相关文章