Los paquetes compuestos agrupan paquetes en agregados para garantizar un comportamiento coherente. Un paquete compuesto contiene paquetes o referencias a paquetes fuera del espacio de trabajo o de la plataforma de destino. Un paquete compuesto garantiza un comportamiento coherente a partir de un conjunto de paquetes compartidos en una versión específica.
Un archivo de paquetes compuesto (CBA) agrupa paquetes compartidos en agregados. Un CBA puede contener paquetes OSGi o paquetes de referencia que se alojan en el repositorio de paquetes internos. Crear un CBA cuando desea garantizar un comportamiento coherente en un conjunto de paquetes compartidos. Puede utilizar el CBA para conectar ese conjunto de paquetes, en una versión específica, a una aplicación.
Un CBA es un archivo de archivado con una extensión de archivo .cba. Contiene un manifiesto compuesto META-INF/COMPOSITEBUNDLE.MF, que define el CBA y, opcionalmente, algunos paquetes OSGi para inicializar el repositorio. Los paquetes que contiene el CBA o al que hace referencia se definen con versiones exactas, en contraste con un EBA, donde están definidos los paquetes con rangos de versión.
Un paquete compuesto se instala en el repositorio de paquetes internos del tiempo de ejecución. Si el CBA contiene directamente paquetes OSGi, estos paquetes se instalan en el repositorio como si se hubieran subido individualmente. El CBA también se añade en el repositorio de paquetes. Si el CBA hace referencia a paquetes OSGi, estos paquetes deben estar presentes en el repositorio de paquetes interno.
Después de instalar un CBA en el repositorio de paquetes internos, sus paquetes estarán disponibles para todas las aplicaciones con las que desee utilizar los paquetes cuando se resuelva la aplicación. Si está disponible un paquete o servicio necesario en la misma versión en un paquete y un CBA, el proceso de suministro selecciona el paquete o servicio en el CBA.
<identificar de módulo>;<directrices>;<atributos>
Una lista de nombres de interfaz de servicio y filtros opcionales que identifican servicios que están presentes en el paquete compuesto y que pueden exportarse para su uso fuera del paquete compuesto. Las interfaces que un servicio exportado implementa se pueden utilizar fuera del paquete compuesto si dichas interfaces están visibles fuera del paquete compuesto.
Una lista de nombres de interfaz de servicio y filtros opcionales que identifican servicios que el contenido del paquete compuesto desea utilizar desde fuera del paquete compuesto. Debe existir al menos un servicio de este tipo.