Actividad Obtener mensaje MQ

Utilice la actividad Obtener mensaje MQ para recuperar mensajes de una cola MQ durante el tiempo de ejecución.

Nota: Para poder configurar la actividad, debe haber creado antes un punto final para la actividad MQ.
La tarea Configurar tiene tres secciones:

Tras completar las tareas Configurar, lleve a cabo las tareas Correlacionar entradas y Correlación de salidas de la actividad.

Nota: El tamaño máximo del mensaje es 100 MBytes.

Detalles de mensaje y cola

Especifique los detalles de mensaje y cola para los campos de la tabla que figura más abajo. Los campos obligatorios están marcados con un asterisco.
Campo Descripción
Nombre de cola * Especifica el nombre de la cola MQ de donde intenta recuperar el mensaje el Dispositivo de integración.
Tiempo de espera El número de segundos para que se produzca un exceso del tiempo de espera entre la solicitud de la actividad Obtener mensaje MQ para recuperar un mensaje de la cola y el tiempo que tarda el mensaje en devolverse. Si este tiempo de espera se agota y la cola no devuelve ningún mensaje, el Dispositivo de integración espera el intervalo de tiempo especificado antes de volver a intentar recuperar un mensaje. Para obtener una explicación detallada de los tiempos de espera y las opciones de reintento, consulte Opciones de tiempo de espera y de reintento.

Para especificar el número de segundos que el Dispositivo de integración debe esperar antes de emitir un aviso de tiempo de espera excedido, seleccione la opción Después y especifique el número de segundos en el campo Segundos. De forma predeterminada, se encuentra seleccionada la opción Nunca; esta opción especifica que el Dispositivo de integración espera de forma indefinida a recuperar el mensaje de la cola; no hay ningún periodo de tiempo de espera.

Tipo de datos de carga útil Especifica el tipo de datos de la carga útil del mensaje: binario o serie.
Fragmento de esquema para cabecera MQRFH2 Especifica si una cabecera MQRFH2 está incluida en el mensaje. Si el mensaje incluye una cabecera MQRFH2, seleccione esta casilla de verificación y pulse [...]. En el cuadro de diálogo Buscar elemento de tipo de esquema, localice el esquema XML que define la cabecera, seleccione el elemento NameValueData en ese esquema XML, y pulse Aceptar. El fragmento de esquema es el elemento NameValueData y todos sus elementos hijo.
Nota: Para poder seleccionar el esquema XML, tendrá que crearlo y cargarlo antes en el proyecto. Para obtener más información, consulte Definir y cargar un esquema XML para una cabecera MQRFH2.

Reglas de entrega

Campo Descripción
Mensajes de entrega Las opciones disponibles aquí dependen de si se ha seleccionado o no la casilla de verificación ID exclusivos. Si se ha seleccionado, las tres opciones estarán disponibles. En caso contrario, sólo se mostrará Una vez como mínimo.
  • Una vez como mínimo: especifica que el mensaje se entrega como mínimo una vez, pero se puede entregar más veces. Los errores en las conexiones o en el Dispositivo de integración pueden hacer que los mensajes se entreguen y procesen varias veces. Esta opción de entrega se utiliza normalmente cuando el sistema receptor puede detectar o tolerar mensajes duplicados.
  • Una vez como máximo: especifica que el mensaje se entrega solo una vez o ninguna. Los errores en las conexiones o en el Dispositivo de integración pueden hacer que los mensajes se pierdan. Esta opción de entrega se utiliza normalmente cuando el sistema receptor no puede tolerar mensajes duplicados,. pero sí mensajes perdidos.
  • Exactamente una vez: especifica que el mensaje se entrega una vez y solo una vez. Los errores en las conexiones o en el Dispositivo de integración no afectan a la entrega con esta opción. El Dispositivo de integración utiliza los ID de mensajes MQ para asegurarse de que todos los mensajes se recuperan y se procesan solo una vez.
    Nota: Si selecciona la opción Exactamente una vez, deberá habilitar la persistencia. Para obtener más información, consulte Habilitar la persistencia.
Donde los mensajes tienen ID exclusivos Especifica si los mensajes en la cola tienen ID exclusivos.

Opciones de reintento

Configure las opciones de reintento para obtener un mensaje de la cola MQ, como se describe en la siguiente tabla:

Opciones de reintento Descripción
1) Esperar ___ segundos entre cada reintento. El número de segundos que el Dispositivo de integración espera antes de intentar recuperar un mensaje de la cola. Para obtener más información sobre cómo se relaciona esta opción con el campo Tiempo de espera en el panel Configurar o el parámetro de entrada timeout, consulte Opciones de tiempo de espera y de reintento.
2) Intentar conectar __ veces antes de generar un error. Especifica el número máximo de veces que el Dispositivo de integración intenta recuperar un mensaje de la cola antes de emitir un error y detener el proceso del trabajo de orquestación actual.

Si se despliega una orquestación que contiene una actividad Obtener mensaje MQ y el Dispositivo de integración no puede conectarse con el servidor MQ especificado, o no puede obtener un mensaje de la cola, el Dispositivo registra los errores de conexión como avisos en los registros del sistema y la orquestación hasta que se alcanza el total de reintentos. Cuando se alcanza el recuento de reintentos, el Dispositivo de integración registra un error en el sistema y en los registros de orquestación y detiene el proceso del trabajo de orquestación actual.

Por ejemplo, el usuario establece el recuento de reintentos en 3. El primer, el segundo y el tercer error aparecen en el registro del sistema como avisos. El Dispositivo de integración registra el cuarto error como un error y detiene el proceso del trabajo de orquestación actual.

Para obtener más información sobre cómo se relaciona esta opción con el campo Tiempo de espera en el panel Configurar o el parámetro de entrada timeout, consulte Opciones de tiempo de espera y de reintento.

Correlacionar entradas

  1. Seleccione la tarea Correlacionar salidas en Lista de comprobación. Se abrirá el panel Reintentar.

    Los parámetros de entrada de la actividad se mostrarán en el panel A actividad.

  2. Todos los parámetros de entrada de la actividad Obtener mensaje MQ son opcionales. Si el parámetro de entrada incluido en la siguiente tabla no se muestra en el panel A actividad del panel Correlacionar entradas, seleccione Correlación > Mostrar parámetros opcionales en el menú de la barra de herramientas o pulse con el botón derecho en el panel A actividad y seleccione la opción Mostrar parámetros opcionales. Si no se puede seleccionar la opción Correlación > Mostrar parámetros opcionales en el menú de la barra de herramientas, pulse sobre un nodo del panel Correlacionar entradas para activar esta opción.
    Puede limitar el tipo de mensaje devuelto por la actividad Obtener mensaje MQ correlacionando todas las combinaciones de los siguientes nodos del parámetro de entrada opcional mqmdheader:
    • mqmdheader/MsgId
    • mqmdheader/CorreId
    • mqmdheader/GroupId
    • mqmdheader/MsgSeqNumber

    Durante el tiempo de ejecución, la actividad se repite de manera secuencial a través de los mensajes en la cola. Si no se establece ninguna correlación con estos nodos, no hay ninguna limitación; por lo tanto, la actividad Obtener mensaje MQ devuelve el primer mensaje en la cola y se procesa la siguiente actividad en la orquestación.

    Si se establece una correlación para alguno de estos nodos, durante el tiempo de ejecución la actividad Obtener mensaje MQ se repite a través de cada mensaje en la cola hasta que encuentra el primer mensaje que coincide con los valores de tiempo de ejecución de todos los nodos correlacionados. La actividad Obtener mensaje MQ devuelve el primer mensaje coincidente y se procesa la siguiente actividad en la orquestación.

    Por ejemplo, en la tarea Correlacionar entradas, el parámetro mqmdheader/MsgId se correlaciona con la serie denominada msgId y se especifica un valor largeOrders predeterminado para el parámetro mqmdheader/GroupId, como se muestra en la siguiente ilustración:
    Durante el tiempo de ejecución, la actividad Obtener mensaje MQ devuelve el primer mensaje en la cola que cumpla las siguientes condiciones:
    • El valor de tiempo de ejecución especificado en la variable de tipo serie denominada msgId equivale al ID del mensaje en la cola.
    • El ID de grupo del mensaje es igual a largeOrders.

    También puede, opcionalmente, sustituir los valores que ha especificado para el Nombre de cola y el Tiempo de espera en la tarea Configurar de la Lista de comprobación dinámicamente durante el tiempo de ejecución, utilizando los parámetros de entrada definidos en la siguiente tabla.

    Por ejemplo, el nombre de la cola MQ se puede establecer en la tarea Configurar como poqueue. Durante el tiempo de ejecución, el nombre de la cola MQ newqueue puede pasarse a la actividad utilizando el parámetro de entrada queuename. El nombre de cola especificado dinámicamente durante el tiempo de ejecución sustituye a la configuración original especificada en el panel Configurar. En este ejemplo, el Dispositivo de integración busca mensajes en la cola MQ denominada newqueue.

    Parámetros de entrada opcionales que sustituyen la configuración de la tarea Configurar
    Nombre de parámetro de entrada/nodo Descripción ¿Sustituye la configuración en la tarea?
    timeout Especifica el intervalo de tiempo que el Dispositivo de integración espera tras solicitar recuperar un mensaje de la cola antes de volver a intentarlo.

    Especifique un número negativo para no especificar ningún tiempo de espera; el Dispositivo de integración esperará indefinidamente para obtener un mensaje de la cola. La especificación de un número negativo equivale a establecer la opción Nunca en la tarea Configurar.

    El parámetro de entrada timeout sustituye el campo Tiempo de espera de la tarea Configurar.
    queuename Especifica el nombre de la cola MQ donde el Dispositivo de integración busca mensajes. El parámetro de entrada queuename sustituye la codificación especificada en el campo Nombre de cola de la tarea Configurar.

    Consulte Crear una correlación para obtener instrucciones generales sobre las correlaciones.

Correlación de salidas

No es obligatorio correlacionar los parámetros de salida de esta actividad. Consulte Crear una correlación para obtener instrucciones generales sobre las correlaciones.

Opciones de tiempo de espera y de reintento

El tiempo de espera especificado en el campo Tiempo de espera de la tarea Configurar o el parámetro de entrada timeout especifica el número de segundos para que se produzca un exceso del tiempo de espera entre la solicitud de la actividad Obtener mensaje MQ para recuperar un mensaje de la cola y el tiempo que tarda el mensaje en devolverse. Si este tiempo de espera se agota y la cola no devuelve ningún mensaje, el Dispositivo de integración espera el intervalo de tiempo especificado en la opción 1) Esperar __ segundo(s) entre cada reintento antes de volver a intentar recuperar un mensaje. El Dispositivo de integración intenta obtener el mensaje hasta que se alcanza el total de reintentos especificado. El total de reintentos se especifica en la opción 2) Intentar conectar __ veces antes de generar un error. Las opciones 1) Esperar __ segundo(s) entre cada reintento y 2) Intentar conectar __ veces antes de generar un error se especifican en la tarea Opciones de reintento.

Por ejemplo, una actividad Obtener mensaje MQ se configura con las siguientes opciones:
  • El campo Tiempo de espera de la tarea Configurar se establece en 10 segundos y el parámetro de entrada opcional timeout no se correlaciona y no se define ningún valor predeterminado.
  • La opción 1)Esperar __ segundo(s) entre cada reintento. se establece en 15 segundos.
  • La opción 2) Intentar conectar __ veces antes de generar un error se establece en 2.
Durante el tiempo de ejecución, si la actividad Obtener mensaje MQ no puede obtener de forma repetida un mensaje de la cola, como se muestra en la siguiente ilustración: