2009-05-18 22 views
16

¿Cuál es la diferencia entre una cola de carta muerta y una cola de retroceso?¿Cuál es la diferencia entre Dead Letter Queue y back out Queue?

En términos de WebSphere MQ y en términos de Servidores de aplicaciones.

Todos los servidores de aplicaciones J2EE/JEE tienen un proveedor MQ ¿también tienen una construcción de Dead Letter Queue o es algo específico de WebSphere MQ?

Mi comprensión de una vuelta de la cola es de la siguiente manera:

Si MQ no puede entregar el mensaje a un destino después de un número determinado de intentos que se mueve el mensaje a la cola de vuelta.

No tengo una comprensión clara de una cola de Dead Letter.

Apreciar cualquier ayuda.

Respuesta

10

La cola de mensajes no entregados se usó siempre en MQSeries (la última vez que usé MQ) para almacenar los mensajes que llegaron al administrador de colas, pero la cola no existía.

Por ejemplo, si el mensaje era de direcciones para el gestor de colas X y cola Y, sería llegan a través de un canal en gerente X.

Si el canal del receptor descubrió que no había cola Y, se colocaría en la cola de mensajes no entregados.

La cola de retroceso, por otro lado, es más una cuestión de nivel de aplicación (al menos en términos de MQ). Cuando un cliente de MQ no puede procesar el mensaje por algún motivo, puede retroceder para un procesamiento posterior (volviendo a la cola original).

Si se retira demasiadas veces (el umbral se puede configurar), se mueve a la cola de retroceso.

+0

Aquí encontrará más información: http://www.ibm.com/developerworks/websphere/library/techarticles/0803_titheridge/0803_titheridge.html –

+0

@paxdiablo, esta cola de restitución está gestionada por el administrador de MQ o el cliente debe conectarse a esta cola? – bluelurker

+0

Aunque la cola de restitución está gestionada por el gestor de colas, el cliente JMS y XMS de MQ realiza el enrutamiento de los mensajes a una cola de restitución. – Shashi

1

La Dead Letter Queue se comporta igual que Backout. Trato Dead Letter Queue como el Crematorio para mensajes que no se pueden recuperar en las colas Error o Backout y tengo algunos últimos datos no comerciales específicos que deben recopilarse. Una vez que se captura la información, el mensaje se cancela para siempre. El Backout es bueno para analizar los mensajes de datos que pueden necesitar ser recuperados para reprocesarse por completo o ser enviados de vuelta a un área de aplicación para que tomen la decisión.

4

Gracias por las respuestas. También descubrí que si la aplicación no puede mover el mensaje a la Cola de Salida (BOQ) por algún motivo, se intenta mover la cola a Dead Letter Queue (DLQ).

En nuestra aplicación sucedió. Hubo algunos problemas de permisos en Back Out Queue, por lo que el mensaje no pudo escribirse en el BOQ y terminó en Dead Letter Queue.

0

Una cola de mensajes no entregados también es una cola local. Si intentamos poner un mensaje de una cola a otra cola y el mensaje no se envió al destino correcto, en este momento la medición irá a una cola de letra muerta.