Subflujo Error para el patrón Divisor de mensajes para WebSphere MQ: unidireccional (para XML)
Si se produce un error, utilice el subflujo Error para direccionar el mensaje de error.
Para direccionar el mensaje de error, utilice una de las acciones siguientes:
- Guarde los elementos del mensaje que no se puedan redireccionar a una cola de mensajes erróneos distinta y siga procesando elementos adicionales
- Cancele la transacción y retrotraiga el mensaje de entrada
Cualquier anomalía en el flujo Routing dirige el mensaje propagado, que contiene un elemento de mensaje, al terminal Failure del subflujo Route. El estado de error se graba en Environment.PatternVariables.FailureStatus y aumenta el número de elementos erróneos.
Elija una Acción de mensaje errónea para determinar la acción que se debe emprender después de una anomalía:
- Guardar
- El nodo Failure está conectado a un nodo MQOutput y el elemento de mensaje se escribe en la cola de mensajes erróneos. Se devuelve el control al bucle de proceso del nodo
Message Splitter Compute y el proceso continúa.
- Cuando se han procesado todos los registros, el nodo Message Splitter Compute pasa el control al subflujo Error, donde se realiza una comprobación para determinar si se han guardado elementos de mensajes erróneos. Si se han guardado elementos de mensajes erróneos, y son necesarios los mensajes de error, se generará un mensaje de error que indica el número de elementos en el error.
- Cancelar
- El nodo Failure del subflujo Route no está conectado y los errores de direccionamiento vuelven a pasar al nodo
Message Splitter Compute, que detecta el estado de anomalía y genera una excepción. Las excepciones, distintas de las anomalías de direccionamiento, hacen que se produzca la acción Cancel. Se da por supuesto que todas estas excepciones son irrecuperables y no es segura continuar con el proceso.
- Si los mensajes de error son necesarios, se preparará un mensaje de error y se grabará en la cola de errores.
Los detalles de la excepción se graban como un mensaje XML. Los detalles incluyen:
- Nombre del intermediario
- Nombre de flujo
- Indicación horaria
- Resumen de los datos de excepción
- Se genera un error de usuario para retrotraer el mensaje de entrada y los elementos de mensaje que ya se hayan procesado. En este caso, resulta esencial que funcione el manejo de retrotracciones en la infraestructura de WebSphere MQ; por ejemplo, mediante una cola de retrotracción.
La retrotracción no se produce en las excepciones que se producen después de grabar satisfactoriamente los elementos del mensaje. Este tipo de excepción se puede producir en mensajes de error o en mensajes de registro.