Introducción
Esta directriz se centra en el diseño de beans controlados por mensajes. En la sección Directriz de producto de trabajo: beans controlados por mensajes encontrará ayuda
adicional sobre los beans controlados por mensajes como, por ejemplo, para conocer la forma de identificarlos y
modelarlos. En la sección Directriz de producto de trabajo: Enterprise JavaBeans (EJB) encontrará ayuda
general sobre los EJB.
Observe que puesto que los beans controlados por mensajes se invocan indirectamente mediante mensajes, en lugar de
hacerlo de forma directa mediante operaciones de interfaz, su diseño implica elaborar un formato de mensaje y describir
el comportamiento en relación con la respuesta de los mensajes, en lugar de elaborar operaciones de interfaz.
Una limitación en la utilización de la mensajería está en que el productor de un mensaje y el consumidor del mensaje
(el bean controlado por mensajes) no pueden participar en la misma transacción. El productor puede utilizar la
transacción para colocar el mensaje en la cola, y el bean controlado por mensaje puede utilizar una transacción
distinta para confirmar el consumo del mensaje, pero siempre se tratará de transacciones separadas.
Los beans controlados por mensajes tienen la posibilidad de utilizar transacciones gestionadas por contenedor o
gestionadas por bean. En general, las transacciones gestionadas por contenedor son más sencillas y, por lo tanto,
debería ser la alternativa preferida. Consulte la sección Técnica: diseño de Enterprise JavaBeans (EJB) para obtener más ayuda.
Cada bean controlado por mensajes es una clase activa de la que puede haber varias instancias. Puesto que cada
instancia de bean controlado por mensajes se ejecuta de forma concurrente, el proceso de un mensaje que una instancia
recibe puede que se complete antes o después de otro mensaje que otra instancia haya procesado.
Esto significa que los mensajes se pueden consumir en un orden diferente al producido. El diseño de los beans
controlados por mensajes debe tener en cuenta esta posibilidad.
|