Rendimiento de las aplicaciones y comportamiento de los beans de entidad

WebSphere Application Server permite alterar temporalmente dos comportamientos necesarios para la especificación EJB (Enterprise JavaBeans), ya que la aplicación puede beneficiarse del manejo de estos aspectos de la gestión de datos de bean de una forma ligeramente diferente.

Sincronización de almacenes persistentes gestionados por la aplicación para los métodos findBy

Las secciones 10.5.3 y 12.1.4.2 de las especificaciones EJB 2.0 y 2.1 requieren que, antes de ejecutar una consulta como parte de un método findBy (excepto para findByPrimaryKey), el contenedor de EJB escriba en el almacenamiento persistente el estado de los beans de entidad de ese tipo que aparecen en la transacción actual. Es decir, el contenedor ejecuta las siguientes acciones:
  1. Crea una lista de beans que aparecen en la transacción actual y que son del mismo tipo que el que devuelve el método findby
  2. Almacena el estado de estos enterprise beans en el almacenamiento persistente antes de ejecutar la consulta
Si el estado de una instancia de EJB no se altera en la transacción actual, la operación de almacenamiento se omite para esa instancia. Con esto se garantiza que la consulta se realice en el estado más actualizado de todos los datos persistentes, lo que reduce los problemas de integridad de datos.

No obstante, existen casos en los que resulta excesivo e ineficaz que el contenedor de EJB ejecute automáticamente esta acción en cada método findBy. Por ejemplo, si la aplicación garantiza el uso de los datos más actualizados en las consultas de findBy, o aquellos casos en los que la aplicación puede tolerar algunos datos no actualizados como parte de los resultados de la consulta.

WebSphere Application Server permite inicializar el proceso de sincronización con el control de la aplicación, e inhabilitar la sincronización gestionada por contenedor de tipos de EJB específicos dentro de la aplicación. Un uso correcto de estas funciones puede aumentar el rendimiento de la aplicación sin necesidad de sacrificar la integridad de los datos. Consulte el tema Manipulación de la sincronización de beans de entidad y almacenes.

Evitar invocaciones de ejbStore en instancias de bean de entidad sin modificar

La especificación EJB requiere que el contenedor de EJB invoque el método ejbStore proporcionado por el usuario en todos los beans de entidad dentro de una transacción cuando se compromete esa transacción. En los beans CMP (persistencia gestionada por contenedor), a diferencia de los beans de persistencia gestionada por bean, esta operación normalmente no es necesaria, ya que este método en los beans CMP suele estar vacío. Incluso en aquellos casos en los que el método no esté vacío, puede que la aplicación sólo necesite la invocación del método si se modifica el estado persistente del bean durante la transacción actual.

WebSphere Application Server proporciona un mecanismo para indicar si desea este comportamiento para tipos de EJB específicos dentro de la aplicación. Consulte el tema Evitar invocaciones de ejbStore en instancias de EntityBean no modificadas.


Icon that indicates the type of topic Concept topic



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