2012-09-13 5 views
5

Cuando un gestor de colas local recibe el mensaje siguiente en el registro de errores Es AMQ:¿Cómo intercambia WMQ la información de DLQ entre los gestores de colas remotos y locales?

09/13/12 08:00:19 - Proceso (3.017,20) usuario (MQM) Programa (amqrmppa_nd) AMQ9544: Mensajes no poner en la cola de destino

EXPLICACIÓN: Durante el procesamiento de canal 'TO_QM_QD2T1_C1' uno o más mensajes no podía ser puesto a la cola de destino e intenta fueron hechos para ponerlos a una cola de mensajes no entregados. La ubicación de la cola es 2, donde 1 es la cola local de mensajes no entregados y 2 es la cola de mensajes no entregados remota .

... ¿Cuál es el mecanismo por el cual MQ intercambia dicha información? ¿Existe una función incorporada dentro de la API del programa del canal o la información se intercambia como mensajes discretos en el SYSTEM.CLUSTER.COMMAND.QUEUE (en el caso de un clúster)? Dado que esto podría ocurrir en una situación de definición de cola remota, con solo pares sencillos de emisor/receptor, y sin una correspondiente COLA DE COMANDO necesariamente, podría imaginarse que se manejaría a través de las comunicaciones de proceso de canal ... solo me preguntaba ...

Respuesta

1

Los agentes de canal tienen una comunicación bidireccional entre ellos, aunque los mensajes fluyan en una sola dirección. Cuando un mensaje no puede encontrar el destino en el extremo remoto, hay varias posibilidades para lo que sucede a continuación. El canal solo continuará ejecutándose si el mensaje se puede poner con éxito en algún lugar y el primer lugar para intentarlo es el DLQ remoto. Si eso falla, el MCA local debe reubicar el mensaje o detener el canal. Por lo tanto, los dos agentes del canal de mensajes resuelven entre ellos lo que sucede y cuál debería ser el estado del canal.

La peculiar redacción del mensaje de error refleja que las diferentes disposiciones del mensaje derivan dentro de la misma ruta de código y manejo de excepciones y la optimización de WMQ. El MCA sabe que el mensaje se envió a un DLQ en ese momento y en lugar de tener dos mensajes de error o lógica diferentes para resolver la redacción en la que se utilizó DLQ, simplemente coloca un número en una plantilla. Por lo tanto, se utilizan un solo mensaje de error y una lógica optimizada para ambas posibilidades.

Cuestiones relacionadas