Flujo Request para el patrón Correlacionador de mensajes para WebSphere MQ: solicitud-respuesta con persistencia
El flujo Request se ejecuta como un flujo transaccional.
Los mensajes recibidos por el flujo Request se procesan de la manera siguiente:
- Cuando el flujo de mensajes recibe un mensaje, se comprueba para asegurarse de que la cabecera MQMD contiene una cola de respuesta.
Se produce un error si este campo está en blanco.
- Cuando el flujo de mensajes recibe un mensaje, se toma una copia de la cabecera
MQMD del mensaje y se modifica estableciendo el identificador de correlación como identificador de mensaje. El contenido de la cabecera del mensaje se guarda en una cola para conservar la dirección de respuesta original. Establecer el identificador de correlación en la cabecera guardada asegura que, cuando la cabecera se recupera y se añade a la respuesta del solicitante, el valor es correcto y habilita la recuperación del solicitante mediante la utilización del identificador de correlación.
- El flujo de mensajes incluye un subflujo llamado RequestProcessor.
Este subflujo sólo contiene un nodo Passthrough, por lo que no se realiza ningún proceso.
Puede personalizar este subflujo en la instancia del patrón para añadir su propio proceso sin cambiar la estructura del patrón.
- La cabecera MQMD del mensaje entrante se modifica para sustituir el gestor de colas de respuesta y la cola de respuesta del solicitante con la dirección del nodo de entrada del flujo de mensajes Response.
- El mensaje se reenvía a la aplicación de proveedor.
- El flujo de mensajes puede contener un subflujo para realizar el registro denominado Log.
Puede configurar el patrón para incluir o excluir el subflujo Log.
- Si el registro no es necesario, el flujo de mensajes finaliza satisfactoriamente después de escribir el mensaje en la cola de proveedor y la transacción se confirma.
- El flujo de mensajes también contiene un subflujo de manejo de errores, llamado Error.