2011-01-15 17 views

Respuesta

10

JMS y los beans controlados por mensaje no son de elección, los dos son complementarios.

JMS es la API y la tecnología para pasar mensajes. Los beans controlados por mensaje (MDB) son una API para recibir mensajes JMS como eventos en el estilo EJB. Hay muchas maneras de manejar los mensajes JMS, MDB es solo uno de ellos.

Desde el JavaEE tutorial:

beans controlados por mensajes pueden implementar cualquier tipo de mensajería. Más comúnmente, implementan la tecnología de Java Message Service (JMS).

Su tema, por cierto, habla sobre los MBeans: esto es completamente diferente (que se refiere a la API JMX), y nada que ver con JMS.

+1

+1 - buen punto sobre MBeans; hizo disonancia entre la pregunta y el texto. – duffymo

+0

Los MDB se crean sobre la API JMS ??? ¿esta afirmación es correcta? – JavaUser

+0

@JavaUser: no "construido sobre", no, no hay acoplamiento entre las dos API. Sin embargo, es el uso más común de los MDB: generalmente implementan la interfaz 'MessageListener'. – skaffman

0

JMS es la especificación Java Messaging Service; es la API para colas y temas en Java EE.

Los MDB con los que estoy familiarizado normalmente implementan la interfaz javax.jms.MessageListener, que encapsula el tema o el oyente de cola en un componente administrado por el contenedor Java EE.

Pero me han señalado en los comentarios que esto no es un requisito; Los MDB se pueden usar como parte de la API de Java Connector.

+0

'' Los MDB se crean sobre la API JMS. '' - Lo siento, pero eso no es correcto. JMS es un proveedor común de mensajería (asíncrona) para MDB, pero los MDB pueden actuar como un punto final (oyente) para cualquier servicio que proporcione un adaptador de recursos JCA. En ningún momento los MDB se construyen sobre ninguna parte de la API de JMS. –

+0

Solo los he usado con JMS; No estaba al tanto de la conexión JCA. Y "encima de" en mi mente significaba "usar la interfaz MessageListener", que es un paquete JMS. Su respuesta es ciertamente más completa, pero "en ningún momento" parece ir demasiado lejos para mí. Me encantaría ver una cita de producción de alguien que usó MDB para algo más que JMS. – duffymo