Definición: ¿Qué significa Bean basado en mensajes?
Un bean controlado por mensajes es un componente de una aplicación empresarial ligera que se utiliza para procesar mensajes en modo asíncrono, donde el usuario no siempre recibe resultados inmediatos. Cualquier componente puede enviar estos mensajes independientemente de si utiliza tecnología J2EE.
Las dos características distintas que diferencian los beans controlados por mensajes de los beans de sesión y de entidad son que no se puede acceder a los beans controlados por mensajes a través de interfaces y solo tienen una clase de bean.
Techinfo explica el bean controlado por mensajes
Los beans de mensaje también se destacan por las siguientes características:
- Las instancias de beans controlados por mensajes no retienen datos ni estados de conversación para un cliente específico.
- Todas las instancias de un bean controlado por mensajes son equivalentes, lo que permite que el contenedor EJB asigne un mensaje a cualquier instancia de bean controlado por mensajes. El contenedor puede agrupar estas instancias para permitir que los flujos de mensajes se procesen al mismo tiempo.
- Un solo bean controlado por mensajes puede procesar mensajes de varios clientes.
Los beans controlados por mensajes se utilizan en la comunicación asíncrona entre componentes de aplicaciones empresariales. Un mensaje se procesa de la siguiente manera:
- Cuando llega un nuevo mensaje, el contenedor Enterprise JavaBeans llama al método onMessage del bean controlado por mensajes para procesar el mensaje.
- El mensaje se transmite como un mensaje JMS, que se maneja según la lógica empresarial de la aplicación. Luego, si el método onMessage solo quiere procesar el mensaje, invoca un bean de sesión. Sin embargo, si el método desea almacenar el mensaje en una base de datos, invoca un bean de entidad.
- Luego, el mensaje se envía a un bean controlado por mensajes para que las operaciones anteriores se conviertan en parte de una transacción única y completa. A veces, un mensaje se vuelve a enviar si hay una reversión en el procesamiento del mensaje.