Puede diseñar un flujo de mensajes que capte excepciones antes de devolverlos al nodo de entrada. En un solo flujo, puede incluir uno o más nodos TryCatch para proporcionar un solo punto de anomalía para una secuencia de nodos. Con esta técnica, puede proporcionar un proceso y recuperación de errores muy específico.
Un nodo TryCatch no procesa un mensaje de ningún modo, solamente representa un punto de decisión en un flujo de mensajes. Cuando el nodo TryCatch recibe un mensaje, lo propaga al terminal de prueba. El intermediario pasa el control a la secuencia de nodos conectados a dicho terminal (el flujo de prueba).
Si se genera una excepción en el flujo de prueba, el intermediario devuelve el control al nodo TryCatch. El nodo graba el contenido actual de ExceptionList en las anotaciones de error locales y luego graba la información para la excepción actual en ExceptionList, sobregrabando la información que tiene almacenada allí.
El nodo propaga ahora el mensaje por la secuencia de nodos conectada al terminal de captación (el flujo de captación). El contenido del árbol de mensajes que se propaga es idéntico al contenido que se ha propagado al terminal de prueba, que es el contenido del árbol cuando se recibe por primera vez el nodo TryCatch. Añade a este árbol la nueva información de excepción que tiene grabada en ExceptionList. Cualquier modificación o adición que hayan supuesto los nodos del flujo de prueba para el árbol de mensajes no estará presente en el árbol de mensajes que se propaga al flujo de captación.
No obstante, si el flujo de captación ha completado el proceso que requieren las actualizaciones de las bases de datos externas, no se perderán. Las actualizaciones se conservarán mientras el flujo de captación procesa el mensaje y la decisión sobre si se confirman o restituyen las actualizaciones se toma durante la configuración del flujo de mensajes y los nodos individuales que interactúan con las bases de datos. Si las actualizaciones se confirman debido a la configuración que ha establecido, debe incluir lógica en el flujo de captación que restituya los cambios realizados.
Para revisar las opciones de configuración, consulte Configuración de nodos de flujos de mensajes para flujos de mensajes coordinados.
El intermediario devuelve el control al siguiente punto de captación del flujo de mensajes (que puede ser otro nodo TryCatch pero que siempre es, en este último caso, el nodo de entrada) si:
El ejemplo siguiente muestra cómo puede configurar el flujo para captar excepciones en el nodo de entrada. El terminal de captación del nodo MQInput se conecta a un nodo Trace para registrar el error.
En el ejemplo siguiente, el flujo de mensajes tiene dos flujos de proceso diferentes conectados a los terminales true y false del nodo Filter. Aquí se incluye un nodo TryCatch en cada una de las dos vías de acceso que puede tomar el mensaje. El terminal de captación de los terminales TryCatch se conecta a un subflujo de proceso de errores común.
Si el nodo de entrada del flujo de mensajes no tiene un terminal de captación (por ejemplo, Real-timeInput) y desea procesar errores del flujo, debe incluir un nodo TryCatch. El ejemplo siguiente muestra cómo puede conectar un flujo para proporcionar este proceso de errores. En este ejemplo, puede configurar el ESQL del nodo Compute en el flujo de captación para analizar la excepción que se ha captado y establecer el nombre de la cola de salida dinámicamente.
Conceptos relacionados
Flujos de mensajes
Difusión de aplicaciones de flujos de mensajes
Tareas relacionadas
Utilización de subflujos
Creación de un flujo de mensajes
Definición del contenido del flujo de mensajes
Edición de propiedades configurables
Manejo de excepciones y puntos muertos de base de datos en flujos de agregaciones
Referencia relacionada
Nodos incorporados
WebSphere MQ Enterprise Transport
WebSphere MQ Mobile Transport
WebSphere MQ Multicast Transport
WebSphere MQ Real-time Transport
WebSphere MQ Telemetry Transport
WebSphere MQ Web Services Transport
Avisos |
Marcas registradas |
Descargas |
Biblioteca |
Soporte |
Información de retorno (feedback)
![]() ![]() |
ac18880_ |