Carga previa automática de ObjectCache de WSJPA

La extensión WSJPA (WebSphere Java™ Persistence API) para OpenJPA proporciona una memoria caché de objeto de sólo lectura que puede mejorar el rendimiento en determinados casos de uso. De forma predeterminada, los datos de la memoria caché se cargan en un método poco activo, lo que significa que las entidades individuales se cargan en la memoria cuando lo solicita una aplicación. Sin embargo, si desea cargar todas las entidades desde el principio, puede configurar el servidor de aplicaciones para cargar previamente todas las entidades de la base de datos que se han configurado en ObjectCache. La carga previa de ObjectCache le permitirá almacenar en la memoria caché entidades que de lo contrario estarían restringidas si carga ObjectCache mediante el método poco activo. Esta configuración solo está soportada cuando se utiliza WSJPA en el nivel de especificación JPA 2.0.

Acerca de esta tarea

Al habilitar la carga automática de ObjectCache, el entorno JPA redimensionará y precargará automáticamente ObjectCache en lugar de esperar que las aplicaciones soliciten entidades individuales. Cuando el servidor de aplicaciones crea el primer EntityManager, se iniciará el proceso de carga previo y el servidor de aplicaciones cargará previamente todas las entidades de la base de datos que se hayan configurado en ObjectCache. Este proceso de carga previa se producirá de forma asíncrona en una hebra de proceso independiente.
Avoid trouble Avoid trouble: Tenga en cuenta la información siguiente:
  • Para las entidades que se han configurado para que estén en ObjectCache, también debe configurar todas las relaciones adecuadas en ObjectCache; las relaciones poco activas no estarán disponibles.
  • Mientras que el servidor de aplicaciones está cargando previamente ObjectCache, las entidades se recuperarán de la base de datos. El servidor de aplicaciones no añadirá ninguna entidad a ObjectCache que otros métodos estén cargando.
  • La carga automática de la memoria caché puede tardar mucho tiempo si el gráfico de objeto es complejo.
  • Tenga cuidado cuando habilite esta característica, porque podría consumir toda la memoria disponible. Para que esta función funcione, el entorno de JPA debe tener en memoria el conjunto de datos completo.
gotcha
Una vez finalizado el proceso de carga previa, aparecerá un mensaje informativo similar al siguiente:
Se ha cargado satisfactoriamente ObjectCache con [...] entidades en [...] segundos.

Procedimiento

  1. Establezca la propiedad MaxSize en auto para ObjectCache. Por ejemplo, incluya la entrada siguiente en el archivo .properties:
    <property name="wsjpa.ObjectCache" value=”true(Types=com.ibm.wsjpa.Foo; com.ibm.wsjpa.Bar, MaxSize=auto)”/>
    El valor predeterminado para la propiedad MaxSize es 1000, pero cuando se establece la propiedad MaxSize en auto el mecanismo de carga previa estará habilitado.
  2. Opcional: Revise el valor establecido para la propiedad EvictionSchedule, que se explica en el tema Configuración de la memoria caché de objeto WSJPA para mejorar el rendimiento. Cuando se utiliza la propiedad EvictionSchedule junto con el valor MaxSize=auto, la propiedad EvictionSchedule se implementa de forma diferente del comportamiento predeterminado: en lugar de borrar ObjectCache de la planificación configurada, ObjectCache se volverá a cargar automáticamente.

Ejemplo

Los ejemplos siguientes muestran cómo configurar ObjectCache para que se cargue automáticamente:
  • La siguiente propiedad especifica que ObjectCache se cargue automáticamente cuando el servidor de aplicaciones cree el primer EntityManager:
    <property name=" wsjpa.ObjectCache" value=”true(Types=com.ibm.wsjpa.Foo; com.ibm.wsjpa.Bar, MaxSize=auto)”/>
  • La siguiente propiedad especifica que ObjectCache se cargue automáticamente cuando el servidor de aplicaciones cree el primer EntityManager y ObjectCache se volverá a cargar cada 20 minutos:
    <property name=" wsjpa.ObjectCache" value=”true(Types=com.ibm.wsjpa.Foo; com.ibm.wsjpa.Bar,
     MaxSize=auto, EvictionSchedule=+20)”/>

Icon that indicates the type of topic Task topic



Timestamp icon Last updated: last_date
http://www14.software.ibm.com/webapp/wsbroker/redirect?version=cord&product=was-nd-mp&topic=tejb_jpaautoloadcache
File name: tejb_jpaautoloadcache.html