Configuración de bibliotecas para aplicaciones OSGi

Cada aplicación OSGi puede acceder a un conjunto de API proporcionadas y a sus propias clases internas. También se pueden configurar bibliotecas compartidas para proporcionar acceso a los paquetes adicionales de bibliotecas compartidas.

Acerca de esta tarea

Cada aplicación OSGi tiene su propio conjunto de paquetes OSGi en un servidor Liberty en ejecución. Cada paquete OSGi especifica los paquetes que necesita y los paquetes que proporciona para uso por parte de otros paquetes OSGi. Los paquetes contenidos en una aplicación OSGi pueden acceder a los paquetes proporcionados por otros paquetes dentro de la misma aplicación OSGi. Además, los paquetes OSGi dentro de una aplicación OSGi pueden acceder a paquetes de API proporcionados por el servidor Liberty. También se pueden utilizar bibliotecas compartidas para proporcionar paquetes de API para uso por parte de las aplicaciones OSGi.

Se pueden compartir bibliotecas entre varias aplicaciones OSGi. Todas las aplicaciones, incluidas las aplicaciones Java EE, pueden utilizar durante el tiempo de ejecución las mismas clases proporcionadas por las bibliotecas compartidas.

Procedimiento

  1. Cree un directorio mylib/osgi en el directorio servers/defaultServer bajo el directorio ${WLP_USER_DIR}. Por ejemplo: wlp/usr/servers/defaultServer/mylib/osgi.
  2. Copie los archivos osgi-lib.jar y commons-lang.jar en la nueva carpeta.
  3. Configure la biblioteca compartida para la aplicación a fin de que se cargue la biblioteca. En el archivo server.xml, o un archivo incluido, defina la biblioteca añadiendo el siguiente código:
    <library id="mylib">
        <fileset dir="${server.config.dir}/mylib/osgi"
    includes="*.jar" scanInterval="5s">
    </library>
    Nota: El elemento library también puede tomar un atributo filesetRef con una lista separada por comas de los ID del elemento fileset.
  4. Haga referencia a la biblioteca como una biblioteca OSGi para que las aplicaciones OSGi puedan acceder a los paquetes proporcionados por la biblioteca y compartir una única copia de la biblioteca. En el archivo server.xml, o en un archivo incluido, añada el siguiente código:
    <osgiLibrary libraryRef="myLib"/>
  5. Opcional: Configure la lista de paquetes para dejarlos disponibles para su acceso desde las aplicaciones OSGi. Las aplicaciones OSGi pueden acceder a los paquetes contenidos en la biblioteca compartida cuando la biblioteca se configura utilizando el elemento osgiLibrary. También se pueden listar paquetes para proporcionar más control sobre los paquetes a los que pueden acceder las aplicaciones OSGi. La sintaxis de paquete utiliza la sintaxis de cabecera de OSGi Paquete-Exportación para definir cada paquete. Para listar los paquetes en el archivo server.xml, o un archivo incluido, añada el siguiente código:
    <osgiLibrary libraryRef="myLib">  
        <package>org.example.osgi.lib.pkg1; version=1.0</package>  
        <package>org.example.osgi.lib.pkg2; version=1.1</package>
    </osgiLibrary>
    Nota: Cuando no se utilizan elementos de paquete, se explora la biblioteca para buscar los paquetes que la biblioteca proporciona. Cada paquete que se descubre obtiene la versión predeterminada de 0.0.0.

Icono que indica el tipo de tema Tema de tarea

Nombre de archivo: twlp_admin_osgiappl.html