OSGi 组合捆绑软件

组合捆绑软件将捆绑软件组成聚集以确保具有一致行为。组合捆绑软件包含捆绑软件或者对工作空间或目标平台外部的捆绑软件的引用。组合捆绑软件会确保特定版本的一组共享捆绑软件的行为一致。

组合捆绑软件归档 (CBA) 会将共享的捆绑软件组合到聚集中。CBA 可以包含在内部捆绑软件存储库中主管的 OSGi 捆绑软件或引用的捆绑软件。如果要确保一组共享的捆绑软件的行为一致,请创建 CBA。 您可以使用 CBA 将该组特定版本的捆绑软件连接至某个应用程序。

CBA 是一个具有 .cba 文件扩展名的归档文件。 它包含一个组合清单 META-INF/COMPOSITEBUNDLE.MF(用于定义 CBA)以及可通过其对存储库播种的某些 OSGi 捆绑软件(后者可选)。CBA 包含或引用的捆绑软件使用确切版本进行定义,但 EBA 中的捆绑软件却使用版本范围进行定义。

组合捆绑软件将安装在运行时的内部捆绑软件存储库中。如果 CBA 直接包含 OSGi 捆绑软件,那么这些捆绑软件会安装到存储库中(好像被单独上载)。CBA 也会添加到捆绑软件存储库中。如果 CBA 引用 OSGi 捆绑软件,那么这些捆绑软件必须位于内部捆绑软件存储库中。

将 CBA 安装在内部捆绑软件存储库之后,它的捆绑软件将对所有要在解析应用程序时使用这些捆绑软件的应用程序可用。如果捆绑软件或 CBA 中都以相同版本提供了某个必需软件包或服务,那么供应过程将从 CBA 选择该软件包或服务。

CBA 与企业捆绑软件归档 (EBA) 文件具有下列差别:

OSGi 组合捆绑软件清单文件

此文件中的元数据包含以下关键属性:
Manifest-Version
描述清单文件的版本。
CompositeBundle-ManifestVersion
描述组合捆绑软件的版本。
Bundle-Name
提供组合捆绑软件的人类可读名称。
如果未指定值,那么缺省值是组合捆绑软件符号名称。
Bundle-SymbolicName
在框架中唯一标识组合捆绑软件。有了它仍然需要 Bundle-Name 头。
Bundle-Version
描述组合捆绑软件的版本并在同一框架实例中允许多个版本的组合捆绑软件同时处于活动状态。
CompositeBundle-Content
组合捆绑软件中的捆绑软件和捆绑软件片段的列表。 所有捆绑软件和片段都必须可供进行部署,并包含在 cba 文件中或存在于本地捆绑软件存储库中。捆绑软件和片段必须具有确切的版本号。如果需要同一组合捆绑软件具有不同版本的内容,那么您需要创建不同版本的组合捆绑软件(每一个组合捆绑软件使用一个版本)。
格式是模块声明的以逗号分隔的列表,每个模块声明使用以下格式:
<module identifier>;<directives>;<attributes>
CompositeBundle-Content 头具有下列属性:
version
模块的版本将使用适用于版本范围的 OSGi 语法进行指定。必须将版本指定为一个确切范围,例如 "[1.0.0,1.0.0]"
Import-Package
为捆绑软件解决方案声明 OSGi 框架所使用的捆绑软件的外部依赖关系。可以声明每个软件包的特定版本或版本范围。
使用此属性可指定您要使捆绑软件从运行时导入的任何软件包的名称。如果在此属性中未指定捆绑软件所需的软件包,那么可能会在捆绑软件装入时遇到 NoClassDefFound 异常。
注: 还必须指定您要导入(通过使用 Import-Package)到包含软件包的捆绑软件的 Export-Package 属性中的软件包。
Export-Package
声明在捆绑软件外部可视的软件包。此处未声明的任何软件包仅在捆绑软件中可视。
使用此属性可指定您要使捆绑软件导出到运行时的任何软件包的名称。如果未在此属性中指定其他捆绑软件所需的软件包,那么可能不解析相依捆绑软件。
CompositeBundle-ExportService

服务接口名称和可选过滤器的列表,其标识组合捆绑软件中存在并且可以导出以在组合捆绑软件外部使用的服务。如果导出的服务实现的接口在组合捆绑软件外部可视,那么可以在组合捆绑软件外部使用这些接口。

格式为以逗号分隔的服务列表,采用服务接口名称的形式,后跟属性或伪指令。CompositeBundle-ExportService 头具有下列属性:
过滤
OSGi 服务过滤器。
CompositeBundle-ImportService

服务接口名称和可选过滤器的列表,其标识组合捆绑软件的内容要从组合捆绑软件外部使用的服务。必须至少有一个这样的服务在运行时存在。

格式为以逗号分隔的服务列表,采用服务接口名称的形式,后跟属性或伪指令。CompositeBundle-ImportService 头具有下列属性:
过滤
OSGi 服务过滤器。
指示主题类型的图标 概念主题
信息中心的条款和条件 | 反馈

时间戳记图标 最近一次更新时间: 2014 年 4 月 17 日

文件名:ccba.html