MDP

1. ¿Qué significan las siglas MDB?

Message Driven Bean

2. ¿En qué consiste el funcionamiento de los MDB?

Este servicio funciona a través de colas de mensajes, que es donde los clientes envían sus peticiones, y estas colas son controladas por los Message Driven Beans, los cuales procesan los mensajes que hay en ellas y ejecutan ciertos servicios dependiendo del mensaje procesado.

3. ¿Cuál es el ciclo de vida de un MDB?

Para evitar errores de programación, un message-driven bean no puede ser ejecutado por más de un thread a la vez. Por esta razón y además por no guardar estados, el container puede crear un pool de este tipo de beans similar al existente para stateless session beans.

Debido a su naturaleza stateless el ciclo de vida de un message-driven es simple. Cuando el container desea agregar un nuevo message-driven bean al pool debe crear una nueva instancia, asignar el contexto para que obtenga parámetros de sistema y finalmente ejecutar el método ejbCreate(). Después el bean se encuentra en capacidad para recibir y procesar mensajes. Cuando el container decide reducir el número de instancias existentes invoca el método ejbRemove() terminando su ciclo de vida. Ver figura.

clip_image001

Figura 3.9: Ciclo de vida de un message-driven bean

Debido a su reducido tiempo de vida y a la no persistencia de sus datos, un message-driven bean no sobrevive a fallas en el container o en el servidor, debiendo ser reinstanciado para continuar recibiendo mensajes luego de ésta.

4. ¿Cuál es la diferencia entre MDB y Beans Sesión?

La diferencia más visible entre beans controlados por mensajes y beans de sesión es que los clientes no tienen acceso a beans controlados por mensajes a través de interfaces. Las interfaces se describen en la sección de acceso de cliente Definición de Interfaces . A diferencia de un bean de sesión, un bean controlado por mensajes tiene sólo una clase de Bean.

En varios aspectos, un bean controlado por mensajes asemeja a un bean de sesión sin estado.

  • A instancias bean controlado por mensajes de retener ningún dato o el estado de conversación para un cliente específico.
  • Todas las instancias de un bean controlado por mensajes son equivalentes, permitiendo que el contenedor EJB para asignar un mensaje a cualquier instancia del bean controlado por mensajes. El recipiente puede agrupar estos casos para permitir flujos de mensajes que se procesan simultáneamente.
  • Un solo bean controlado por mensajes puede procesar mensajes de varios clientes.

5. ¿Cómo se usa un MDB?

Los beans de sesión le permiten enviar mensajes JMS y recibirlos de forma sincrónica, pero no de forma asíncrona. Para evitar la inmovilización de los recursos del servidor, no usar el bloqueo sincrónico recibe en un componente del lado del servidor, y en general los mensajes JMS no deben ser enviados o recibidos de forma sincrónica. Para recibir mensajes de forma asincrónica, utilice un bean controlado por mensajes.

6. ¿Cuáles son las características de los MDB?

Beans controlados por mensajes con las siguientes características:

· Ejecutan a la recepción de un mensaje único cliente.

· Se invoca de forma asincrónica.

· Ellos son relativamente de corta duración.

· Ellos no representan directamente los datos compartidos en la base de datos, pero pueden acceder y actualizar estos datos.

· Pueden ser consciente de transacción.

· Ellos son apátridas.

0