Utilización de proveedores de persistencia de terceros
Java™ Persistence API (JPA) para WebSphere Application Server soporta los proveedores de persistencia de terceros en su entorno de servidor de aplicaciones.
Acerca de esta tarea
Las aplicaciones Java EE que utilizan funciones JPA pueden emplear proveedores de persistencia de terceros que no sean los incluidos con el servidor de aplicaciones. Las aplicaciones también pueden especificar un proveedor Apache OpenJPA o EclipseLink que sea una versión diferente de la que está incluida con el servidor de aplicaciones, siempre que se admita la misma versión de la especificación JPA.
Hay dos modos básicos de
incorporar proveedores de terceros en una aplicación:
- Incorporar el proveedor de terceros en una aplicación
- Utilizar bibliotecas compartidas
Procedimiento
- Incorporación de un proveedor de persistencia de terceros dentro de una
aplicación Algunas veces, el diseño de una aplicación debe confiar en la implementación de un
proveedor de persistencia específico. La especificación JPA permite incorporar un
proveedor JPA específico dentro de un archivador de persistencia. Al generar la aplicación, puede ensamblar
una versión específica de una implementación de proveedor en el archivo archivador empresarial (EAR) o en un archivo de aplicación web (WAR).
Para incorporar un proveedor de persistencia de un tercero en una aplicación, debe
examinar el diseño de la aplicación y todos los requisitos previos dependientes.
Utilice los pasos siguientes
para incorporar un proveedor de persistencia dentro de una aplicación:
- Modifique el elemento <provider> para especificar explícitamente qué proveedor de persistencia se ha de utilizar para acceder a la entidad de persistencia.
- Cree la versión específica del proveedor de persistencia de terceros en la
aplicación. Para gestionar correctamente la persistencia, verifique que
EntityManagerFactory y EntityManager llamen al proveedor correcto. Muchos proveedores
escriben información de arranque y de versión en la salida estándar, que se incluye en el
archivo SystemOut.log del servidor de aplicaciones. Esta información puede resultar útil para determinar si la aplicación está utilizando un
proveedor de terceros.
Nota: En este tema se hace referencia a uno o más de los archivos de registro del servidor de aplicaciones. Como alternativa recomendada, puede configurar el servidor para utilizar la infraestructura de registro y rastreo HPEL en lugar de utilizar los archivos SystemOut.log , SystemErr.log, trace.log y activity.log en sistemas distribuidos y de IBM® i. Puede también utilizar HPEL junto con sus recursos de registro nativos de z/OS. Si utiliza HPEL, puede acceder a toda la información de registro y rastreo utilizando la herramienta de línea de mandatos LogViewer desde el directorio bin de perfil de servidor. Consulte la información sobre la utilización de HPEL para resolver problemas de aplicaciones para obtener más información sobre la utilización de HPEL.
- Para utilizar un proveedor JPA de terceros que no se ha empaquetado con el servidor de aplicaciones, configure el orden del cargador de clases de su aplicación de modo que cargue primero las clases con el cargador de clases de la aplicación. Esto también es necesario si el proveedor JPA de un tercero está definido en una biblioteca compartida asignada a un cargador de clases definido por el usuario en el servidor. Si el cargador de clases no se ha configurado correctamente, la aplicación no cargará ni utilizará el proveedor JPA de terceros que se incluye con el servidor de aplicaciones.
- Dependiendo de cómo se ha empaquetado el proveedor, realice los pasos
siguientes:
- Si ha empaquetado el proveedor en un archivo EAR, especifique los binarios del proveedor de persistencia de terceros en la vía de acceso de clases Manifest.mf de estos módulos de aplicación que necesitan acceso JPA.
- Si el proveedor se ha empaquetado en un archivo WAR, incluya los binarios de proveedor necesarios en el directorio WEB-INF/lib de la aplicación web.
- Instale la aplicación con normalidad.
- Utilización de las bibliotecas compartidas para implementar un proveedor de
persistencia de terceros Los proveedores de persistencia a los que acceden
las aplicaciones en un entorno global se pueden instalar como una biblioteca compartida
para el servidor de aplicaciones. Dependiendo de los requisitos, puede compartir la
biblioteca entre el servidor y la aplicación. Utilice los pasos siguientes para
implementar un proveedor de persistencia de terceros utilizando bibliotecas compartidas:
- Modifique el elemento <provider> para especificar explícitamente qué proveedor de persistencia se ha de utilizar para acceder a la entidad de persistencia.
- Defina el proveedor de persistencia en una biblioteca compartida. Consulte el tema sobre cómo crear bibliotecas compartidas para obtener más información.
- Asocie la biblioteca compartida con el cargador de clases de la aplicación o asocie la biblioteca compartida con el cargador de clases del servidor si muchas aplicaciones acceden a la biblioteca.
- Configure el orden del cargador de clases de su aplicación de modo que cargue primero las clases con el cargador de clases de la aplicación. Esto es necesario si el proveedor JPA de terceros se incluye en la aplicación o está definido en una biblioteca compartida. Si el cargador de clases no se ha configurado correctamente, el proveedor JPA incluido con el servidor de aplicaciones es utilizado por la aplicación, en lugar del proveedor JPA de terceros.
- Un proveedor de persistencia de biblioteca compartida puede sustituir un proveedor de persistencia existente que sea del mismo tipo y exista en la jerarquía del cargador de clases de la aplicación. Si un proveedor de persistencia de la biblioteca compartida sustituye el proveedor de persistencia que se entrega con el producto, se recomienda utilizar un cargador de clases aislado para la biblioteca compartida. Consulte el tema Creación de bibliotecas compartidas para obtener más información.


http://www14.software.ibm.com/webapp/wsbroker/redirect?version=cord&product=was-nd-mp&topic=tejb_jpa3rdparty
File name: tejb_jpa3rdparty.html