Si la aplicación utiliza clases de IBM o proveedor proporcionadas con el JRE, debe crear un fragmento de paquete OSGi para que estos cambios estén disponibles en la infraestructura OSGi
Acerca de esta tarea
A partir de
CICS TS 5.1,
la infraestructura OSGi tiene reglas más estrictas que controlan qué clases se pueden cargar en el JRE.
La infraestructura OSGi carga cualquier paquete con el prefijo java, según requiera la aplicación. Si una aplicación utiliza un paquete de IBM o proveedor que se proporciona con el JRE, como com.ibm.misc, debe crear un paquete OSGi de middleware para que estas clases estén disponibles para la infraestructura OSGi. Si no lo hace, las transacciones terminarán de forma anómala con un código AJ05 y se grabarán errores java.lang.ClassNotFoundException en el registro de errores del servidor de JVM y el registro del sistema CICS.
No es necesario completar estos pasos para las clases CICS Java, ya que las clases JCICS pasan a estar automáticamente disponibles para la infraestructura OSGi.
Procedimiento
- Para cada paquete de IBM o proveedor que requiera la aplicación, cree un fragmento de paquete OSGi para exportar el paquete. El ejemplo siguiente muestra lo que puede contener el manifiesto del fragmento de paquete OSGi:
Manifest-Version: 1.0
Bundle-ManifestVersion: 2
Bundle-Name: Extension
Bundle-SymbolicName: com.ibm.example.extension
Bundle-Version: 1.0.0
Bundle-Vendor: IBM
Fragment-Host: system.bundle; extension:=framework
Export-Package: com.ibm.misc
Bundle-RequiredExecutionEnvironment: JavaSE-1.6
Fragment-Host define que el fragmento de paquete OSGi amplía el paquete del sistema en la infraestructura OSGi. Export-Package lista los paquetes que se exportan; en este ejemplo, se exporta el paquete que empieza por com.ibm.misc. Si utiliza Eclipse, ignore el error que se indica.
- Cambie la aplicación para añadir una importación para el paquete exportado en el manifiesto del paquete OSGi adecuado. Cada paquete OSGi que requiere una clase desde un paquete de IBM o proveedor debe declarar el paquete en el manifiesto.
- Cree un proyecto de paquete de CICS para los fragmentos de paquete OSGi.
Puede incluir uno o varios fragmentos de paquete OSGi en el proyecto, en función de si desea gestionar el ciclo de vida de los fragmentos conjuntamente. Se recomienda mantener el paquete de middleware separado de la aplicación, de forma que los administradores puedan gestionar el ciclo de vida de forma independiente en CICS.
Resultados
Ha creado un proyecto de paquete de CICS que contiene uno o más fragmentos de paquete OSGi que exportan paquetes del JRE. Cuando se despliega, este paquete de middleware garantiza que la aplicación se puede ejecutar en un servidor de JVM
CICS TS 5.1.
Qué hacer a continuación
Despliegue la aplicación y el paquete de middleware. Debe asegurarse de que el perfil de JVM para el servidor de JVM de destino especifica el paquete de middleware
en la opción
OSGI_BUNDLES.