< Volver al curso

4. Manipular mensajes con JMS Active MQ


En la clase de hoy vamos a aprender cómo manipular mensajes con JMS Active MQ. Para poder crear aplicaciones asíncronas, es necesario almacenar en una Queue o un Topic los datos de un evento de Mule.

Topics y Queues

Antes de comenzar la clase, es necesario saber la diferencia entre Topics y Queues, ya que este concepto no solamente existe en la especificación JMS de ActiveMQ.

 

Queue

Este modelo de mensajería es llamado PTP (point-to-point o 1:1).

1.El Productor envía el mensaje a la Queue. 
2.Un Consumidor lee la Queue y observa que hay un mensaje. 
3.El Consumidor bloquea el mensaje de la Queue para que ningún otro Consumidor pueda 
procesar el mensaje. 
4.El propio Consumidor elimina el mensaje de la Queue una vez procesado.

Cuando el mensaje es enviado a la Queue se mantiene hasta que un Consumidor lo procese correctamente y lo elimine.

A continuación, os dejo un diagrama donde se observa el comportamiento descrito anteriormente.

 

 

Topic

Este modelo de mensajería de JMS Active MQ es llamado Pub-Sub (Publish/Suscribe o 1:muchos).

1.El Publicador publica el mensaje en el Topic. 
2.Todos los Suscriptores activos procesarán el mensaje. 
3.El mensaje deja de estar publicado en el Topic y desaparece.

Cuando un Publicador publica un mensaje, independientemente de si hay Suscriptores, no guardará el mensaje.

A continuación os dejo un diagrama de este escenario descrito.

 

 

Java Message Service

Es un conector llamado JMS que permite enviar y recibir mensajes a Queues y Topics para cualquier servicio de mensajes que implemente la especificación JMS.

Permite que la comunicación entre diferentes componentes de una aplicación distribuida sea débilmente acoplada, confiable y asíncrona.

En la clase de hoy utilizaremos las siguientes acciones del conector:

  • Publish. Este componente, de tipo Event Processor, nos permite publicar o enviar un mensaje a un Topic o una Queue.
  • On New Message. Este componente, de tipo Event Source, se utiliza como Listener de una Queue o un Topic para saber si hay un mensaje nuevo y procesarlo.

Por cierto, el componente On New Message también se considera un Trigger, ya que inicia un evento de Mule si existe un mensaje nuevo.

 

Espero que os guste la última clase de Triggers.

Sin más, Manipular mensajes con JMS Active MQ ¡dentro vídeo!


El siguiente contenido solo está disponible para los miembros PRO.
Únete ahora

Clases del curso


< Volver al curso