组合捆绑软件将捆绑软件组成聚集以确保具有一致行为。组合捆绑软件包含捆绑软件或者对工作空间或目标平台外部的捆绑软件的引用。组合捆绑软件会确保特定版本的一组共享捆绑软件的行为一致。
组合捆绑软件归档 (CBA) 会将共享的捆绑软件组合到聚集中。CBA 可以包含在内部捆绑软件存储库中主管的 OSGi 捆绑软件或引用的捆绑软件。如果要确保一组共享的捆绑软件的行为一致,请创建 CBA。 您可以使用 CBA 将该组特定版本的捆绑软件连接至某个应用程序。
CBA 是一个具有 .cba 文件扩展名的归档文件。 它包含一个组合清单 META-INF/COMPOSITEBUNDLE.MF(用于定义 CBA)以及可通过其对存储库播种的某些 OSGi 捆绑软件(后者可选)。CBA 包含或引用的捆绑软件使用确切版本进行定义,但 EBA 中的捆绑软件却使用版本范围进行定义。
组合捆绑软件将安装在运行时的内部捆绑软件存储库中。如果 CBA 直接包含 OSGi 捆绑软件,那么这些捆绑软件会安装到存储库中(好像被单独上载)。CBA 也会添加到捆绑软件存储库中。如果 CBA 引用 OSGi 捆绑软件,那么这些捆绑软件必须位于内部捆绑软件存储库中。
将 CBA 安装在内部捆绑软件存储库之后,它的捆绑软件将对所有要在解析应用程序时使用这些捆绑软件的应用程序可用。如果捆绑软件或 CBA 中都以相同版本提供了某个必需软件包或服务,那么供应过程将从 CBA 选择该软件包或服务。
<module identifier>;<directives>;<attributes>
服务接口名称和可选过滤器的列表,其标识组合捆绑软件中存在并且可以导出以在组合捆绑软件外部使用的服务。如果导出的服务实现的接口在组合捆绑软件外部可视,那么可以在组合捆绑软件外部使用这些接口。
服务接口名称和可选过滤器的列表,其标识组合捆绑软件的内容要从组合捆绑软件外部使用的服务。必须至少有一个这样的服务在运行时存在。