Puede crear una característica de Liberty manualmente e instalarla en el perfil Liberty.
Acerca de esta tarea
Una característica puede estar formada por un solo paquete OSGi y un archivo de manifiesto de característica. En este ejemplo se crea una biblioteca para las aplicaciones, para que los paquetes externos estén visibles en la classpath de la aplicación predeterminada. Al copiar el manifiesto de característica en el directorio ${wlp.user.dir}/extension/lib/features y el paquete OSGi en el directorio ${wlp.user.dir}/extension/lib, la característica se puede instalar en el perfil Liberty. A continuación, puede utilizar la característica en el archivo server.xml.
Para obtener detalles sobre el formato de un archivo de manifiesto de característica, consulte Archivo de manifiesto de característica de Liberty.
En este ejemplo se describe cómo construir una característica de Liberty manualmente. De forma alternativa, puede utilizar las herramientas del desarrollador de WebSphere Application Server; consulte Creación de una característica de Liberty utilizando las herramientas del desarrollador.
Procedimiento
Para crear una características de Liberty manualmente, siga estos pasos:
- Cree un paquete OSGi que contenga las clases Java™ y un archivo de manifiesto de paquete con las cabeceras OSGi adecuadas, por ejemplo, para exportar los paquetes Java que se exponen a las aplicaciones. Bundle-SymbolicName es la única cabecera necesaria; esta entrada especifica un identificador exclusivo para un paquete, según el convenio de denominación de dominio inverso. Se recomienda especificar una versión para el paquete y, en este ejemplo, se exportan algunos paquetes Java para el uso de la aplicación:
Bundle-SymbolicName: com.usr.samplebundle
Bundle-Version: 1.0.1
Export-Package: com.usr.samplebundle.pkg1; version="1.0.0",
com.usr.samplebundle.pkg2; version="1.0.1"
- Utilice el mandato jar para empaquetar las clases Java y el archivo de manifiesto de característica. Por ejemplo:
jar cfm samplebundle.jar MANIFEST.Mf *.class
- Cree un archivo de manifiesto de característica denominado nombre-característica.mf, que describe la característica en el entorno de ejecución.
- Proporcione las cabeceras de manifiesto necesarias:
- Subsystem-SymbolicName para especificar la identidad
y visibilidad de la característica;
- Subsystem-Content para ubicar los archivos que componen la característica;
- IBM-Feature-Version para identificar qué versión
de soporte de característica es necesaria para el entorno de ejecución.
- Método recomendado: Añada las cabeceras de manifiesto opcionales para indicar la
versión aplicable de la especificación de subsistema
(Subsystem-ManifestVersion), la versión de la característica
(Subsystem-Version) y un nombre abreviado de la característica
(IBM-ShortName).
La especificación de estos valores ayudará a desarrollar la característica en el futuro.
- En la cabecera IBM-API-Package, liste los paquetes que se van a exponer en el cargador de clases predeterminado para las aplicaciones.
- Opcional: Cuando cree su propia característica de Liberty, instálela en la extensión del producto de usuario, y cualquier otra característica que esté instalada en la extensión del producto de usuario podrá acceder a todos los paquetes en la característica. Para que haya uno o varios paquetes de SPI disponibles para las características en otras extensiones de producto, liste los paquetes en la cabecera IBM-SPI-Package.
Subsystem-ManifestVersion: 1.0
Subsystem-SymbolicName: com.example.myfeature.sample-1.0; visibility:=public
Subsystem-Version: 1.0.0.qualifier
Subsystem-Type: osgi.subsystem.feature
Subsystem-Content: samplebundle; version="[1,1.0.100)"
IBM-Feature-Version: 2
IBM-API-Package: com.usr.samplebundle.pkg1; type="api",
com.usr.samplebundle.pkg2; type="api"
IBM-SPI-Package: com.sample.myservice.spi;IBM-ShortName: sample-1.0
- Copie el paquete en el directorio ${wlp.user.dir}/extension/lib.
- Copie el manifiesto de característica en el directorio ${wlp.user.dir}/extension/lib/features.
- Si ha definido las cabeceras Subsystem-Name y Subsystem-Description
en el archivo de manifiesto de característica, y ha ubicado los valores, copie los archivos de
localización especificados en la cabecera Subsytem-Localization en el
directorio ${wlp.user.dir}/extension/lib/features/l10n.
Resultados
Después de que se instala la característica en el perfil Liberty, puede añadir el nombre de característica a la lista de características configuradas en el archivo
server.xml. Por ejemplo:
<featureManager>
<feature>usr:sample-1.0</feature>
</featureManager>