Agrupación de secuencias para la persistencia gestionada por contenedor en módulos EJB ensamblados

Después de ensamblar un módulo EJB (Enterprise JavaBeans) que contiene beans CMP (persistencia gestionada por contenedor), puede impedir que se produzcan determinados tipos de excepciones relacionadas con la base de datos durante la ejecución de la aplicación. Con la agrupación de secuencias, puede especificar el orden en el que los beans de entidad actualizan las tablas de bases de datos relacionales.

Nota: No se da soporte a los beans de entidad en los módulos EJB 3.x.

Elimine las excepciones debidas a las violaciones de la integridad referencial (RI)

La agrupación de secuencias es particularmente útil para impedir violaciones de la integridad referencial (RI) de la base de datos. Una política de RI de base de datos prescribe reglas sobre cómo se escriben los datos en las tablas de la base de datos y cómo se suprimen de ellas para mantener la coherencia relacional. No obstante, los requisitos del tiempo de ejecución para la gestión de la persistencia de los beans, puede hacer que una aplicación EJB viole las reglas RI, que pueden provocar excepciones de base de datos. Estos requisitos del tiempo de ejecución determinan que:
  • El bean de entidad crear y elimina operaciones correlacionadas con la base de datos inmediatamente tras la invocación del método.
  • El contenedor de EJB coloca en memoria caché los cambios en el bean de entidad hasta que se llama a un método finder o finaliza la transacción.
En consecuencia, el orden en el que los beans de entidad actualizan la base de datos es impredecible. Esa arbitrariedad significa un mayor riesgo de que la aplicación viole la RI de la base de datos. Aunque la colocación en memoria caché de las operaciones de proceso por lotes altere temporalmente estos requisitos de tiempo de ejecución, no garantiza la secuencia de persistencia de un bean que cumpla con la política de RI existente.

La única forma de garantizar una secuencia de persistencia que cumpla con la RI de la base de datos es designar la secuencia, que se lleva a cabo en el editor del descriptor de despliegue EJB de la herramienta de ensamblaje. Mediante la función de agrupación de secuencias, asigne beans a los grupos CMP. En cada grupo debe especificar el orden en el que el gestor de persistencia inserta datos de bean en la base de datos para conseguir actualizaciones sin violar la RI.

Consulte el tema Definición del módulo ejecutable para grupos de secuencia de CMP si desea instrucciones detalladas sobre la designación de los grupos de secuencia. Consulte al administrador de base de datos acerca de la política de RI con la que debe sincronizarse.

Minimice el riesgo de excepción para esquemas de control de simultaneidad optimista

La agrupación de secuencias también puede reducir el riesgo de excepciones en la retrotracción de transacciones para beans de entidad configurados para el control de simultaneidad optimista. En estos esquemas de control de simultaneidad, los bloqueos de base de datos se mantienen durante un breve espacio de tiempo de forma que un número máximo de transacciones tienen acceso permanentemente a la base de datos. Ese estado relativamente falto de restricciones de la base de datos puede generar excepciones en la retrotracción de transacciones debido a dos motivos comunes:
  • Cuando transacciones simultáneas intentan bloquear la misma fila de la tabla, se produce el punto muerto de la base de datos.
  • Las transacciones pueden producirse en un orden que viola la lógica de la aplicación.

Utilice la función de agrupación de secuencias para ordenar la persistencia de beans de forma que estos escenarios se den menos.


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=cejb_sequence
File name: cejb_sequence.html