Ejecutar el ejemplo Proceso de tiempo de espera excedido

El ejemplo Proceso de tiempo de espera excedido tiene dos partes que se ejecutan por separado:

Proceso de tiempo de espera excedido automático

Después de haber desplegado el flujo de mensajes AutomaticTimeout no tiene que hacer nada más para ejecutarlo; como el nombre indica, se ejecuta automáticamente. Los mensajes aparecen cada diez minutos en la cola TIMEOUT_SAMPLE_OUT_1 mientras se está ejecutando el intermediario.

Proceso de tiempo de espera excedido controlado

Después de desplegar el flujo de mensajes ControlledTimeout, ha de dirigirlo a los mensajes de ejemplo como se explica a continuación:
  1. Abra el archivo de colocación en cola del mensaje de prueba SetTenTimeout.enqueue.
  2. Pulse en Grabar en cola. Se enviará un mensaje de petición a la cola TIMEOUT_SAMPLE_IN_1 y aparecerán diez copias del mensaje original, una cada diez minutos, en la cola TIMEOUT_SAMPLE_OUT_2.

Cuando haya terminado la prueba, repita el procedimiento con el archivo SetUnlimitedTimeout.enqueue. Esto grabará un mensaje que contiene una petición de tiempo de espera excedido ilimitado (sin fin) en la cola TIMEOUT_SAMPLE_IN_2 y aparecerán copias del mensaje original, una cada diez segundos, en la cola TIMEOUT_SAMPLE_OUT_2. Los mensajes de salida contienen un fragmento (el primer registro de <Invoice>) del mensaje de entrada original.

La petición de tiempo de espera excedido ilimitado se ejecuta hasta que se le indica que ha de terminar. Puede detenerla con una petición de cancelación correspondiente.

  1. Abra el archivo de colocación en cola del mensaje de prueba CancelUnlimitedTimeout.enqueue. Éste contiene únicamente una petición de cancelación para la petición de tiempo de espera excedido ilimitado que contiene el archivo SetUnlimitedTimeout.enqueue.
  2. Pulse en Grabar en cola. Los mensajes dejan de aparecer en la cola TIMEOUT_SAMPLE_OUT_2.

También puede detener del mismo modo la petición de tiempo de espera excedido en diez veces, utilizando el archivo CancelTenTimeout.enqueue.

Puede ejecutar conjuntamente los tiempos de espera excedidos limitado e ilimitado, conduciendo ambos mensajes al flujo a la vez. El nodo "Controlled" los procesará como si los dos emitiesen un sonido y los mensajes de salida se mezclarán en la cola TIMEOUT_SAMPLE_OUT_2. No se pueden ejecutar a la vez dos instancias de ninguna de las dos peticiones de tiempo de espera excedido - la segunda generaría un error en el nodo Timeout Control ya que no sobrescribiría la petición existente. Recuerde que esto no es generalmente una limitación de los nodos Timeout, es una limitación de este ejemplo - las peticiones de tiempo de espera excedido de los archivos de colocación en cola del ejemplo tienen identificadores grabados en el código.

Verificación de realización correcta

La realización correcta se determina con la llegada de mensajes a las colas TIMEOUT_SAMPLE_OUT_1 y TIMEOUT_SAMPLE_OUT_2. La primera contiene los mensajes del flujo de mensajes AutomaticTimeout, que aparecen cada diez segundos y que seguirán apareciendo mientras el flujo de mensajes esté ejecutándose. La segunda contiene los mensajes del flujo de mensajes ControlledTimeout, que aparecen en grupos, separadas por intervalos de diez segundos, dependiendo del orden y la sincronización de la invocación de petición.

Para ver los mensajes en la cola TIMEOUT_SAMPLE_OUT_1, realice este procedimiento:

  1. En la barra de herramientas del área de trabajo, pulse en el icono Obtener un mensaje de una cola: icono Acción de extracción de cola.
  2. En el menú desplegable, pulse en Obtener mensaje para abrir la ventana Extraer mensaje de cola.
  3. Entre WBRK6_DEFAULT_QUEUE_MANAGER para el gestor de colas y TIMEOUT_SAMPLE_OUT_1 para la cola.
  4. Pulse en Leer de cola para leer un mensaje de la cola. Los mensajes se generarán automáticamente y serán como éstos:
<TimeoutRequest>
<Action>SET</Action>
<Identifier>SampleAuto</Identifier>
<StartDate>2005-06-06</StartDate>
<StartTime>12:36:44.900</StartTime>
<Count>5</Count>
<Interval>10</Interval>
<IgnoreMissed>TRUE</IgnoreMissed>
<AllowOverwrite>TRUE</AllowOverwrite>
</TimeoutRequest>

Los mensajes de la cola TIMEOUT_SAMPLE_OUT_2 se ven del mismo modo y contienen todo el mensaje de entrada o una pequeña parte de éste.

Icono de la página principal   Volver a la Página de presentación de ejemplos