Si desea coordinar el proceso de flujo de mensajes con otros recursos, debe configurar propiedades tanto de los nodos del flujo de mensajes como del flujo de mensajes en sí mismo.
Antes de empezar:
Para realizar esta tarea, debe haber completado la tarea siguiente:
Un flujo de mensajes se debe ejecutar en una sola transacción, que se inicia cuando un nodo de entrada recibe un mensaje y se puede confirmar o restituir una vez que se ha completado todo el proceso. También puede controlar el manejo de los errores de base de datos por parte del nodo que interactúa con la base de datos.
Para configurar el flujo de mensajes y los nodos:
Puede establecer la propiedad Transacción en los valores siguientes:
Si desea que el flujo de mensajes coordine todo el proceso, debe seleccionar este valor.
Si desea mezclar nodos con transaccionalidad Automática y Confirmar en el mismo flujo de mensajes, donde los nodos operan en la misma base de datos externa, debe utilizar conexiones ODBC separadas: una para los nodos que no se confirman hasta que se completa el flujo de mensajes y otra para los nodos que se deben confirmar inmediatamente. De lo contrario, los nodos que se confirman inmediatamente también confirman las operaciones que han llevado a cabo nodos de transaccionalidad Automática anteriores.
Si define más de una conexión ODBC pueden producirse problemas de bloqueo de base de datos. En especial, si un nodo con transaccionalidad Automática realiza una operación como, por ejemplo, INSERT o UPDATE, que hace que se bloquee un objeto de base de datos (por ejemplo, una tabla) y el nodo siguiente intenta acceder al objeto de base de datos utilizando una conexión ODBC, se produce un bloqueo infinito (punto muerto).
El segundo nodo espera que se libere el bloqueo que ha adquirido el primero, pero el primer nodo no confirma sus operaciones, ni libera el bloqueo hasta que se completa el flujo de mensajes, lo que no sucede nunca, puesto que el segundo nodo está a la espera de que el se libere el bloqueo del primer nodo.
Ninguna rutina de evitación de bloqueo automático de DBMS puede detectar este tipo de situación, puesto que ambas operaciones interfieren indirectamente entre sí, utilizando el intermediario.
Para evitar este tipo de problema de bloqueo, existen dos procedimientos:
Para obtener más información relacionada con objetos de base de datos a los que bloquean operaciones determinadas y sobre cómo configurar el parámetro de tiempo de espera de bloqueo de base de datos, consulte la documentación del producto de la base de datos.
En la tabla siguiente se proporciona un resumen de las acciones llevadas a cabo en respuesta a valores de propiedades específicos para los nodos de entrada y salida.
Permanencia del mensaje 1 | Modalidad de transacción del nodo Input | Modalidad de transacción del nodo MQOutput o MQReply | Flujo de mensajes coordinado globalmente |
---|---|---|---|
Sí | Sí | Automática | Sí |
No | Sí | Automática | Sí |
Sí | No | Automática | No |
No | No | Automática | No |
Sí | Automática | Automática | Sí |
No | Automática | Automática | No |
Ninguno 2 | Ninguno 2 | Sí | Sí |
Ninguno 2 | Ninguno 2 | No | No |
Notes:
|
El valor por omisión en cada nodo de entrada es Sí, lo que significa que los mensajes entrantes se procesan bajo punto de sincronismo. Además, los mensajes que se envían al nodo de salida se entregan bajo punto de sincronismo. Puede cambiar este comportamiento si el nodo de salida es un nodo MQOutput o MQReply. Ambos tienen una propiedad Modalidad de transacción.
Si establece Modalidad de transacción en un nodo de entrada en Automática, los mensajes entrantes sólo se procesan bajo punto de sincronismo si se definen como permanentes. Los mensajes enviados al nodo MQOutput se entregan bajo punto de sincronismo a menos que se cambie explícitamente la Modalidad de transacción en el nodo MQOutput.
En z/OS, las transacciones siempre se coordinan globalmente. Se ignora el establecimiento de la propiedad Transacción coordinada para un flujo de mensajes. RRS siempre proporciona la coordinación.
Conceptos relacionados
Flujos de mensajes
Tareas relacionadas
Acceso a bases de datos desde flujos de mensajes
Configuración de flujos de mensajes coordinados
Manejo de errores en flujos de mensajes
Edición de propiedades configurables
Referencia relacionada
Bases de datos soportadas
Nodos incorporados
Avisos |
Marcas registradas |
Descargas |
Biblioteca |
Soporte |
Información de retorno (feedback)
![]() ![]() |
ac00393_ |