Cuando diseña flujos de tiempo de espera, las decisiones que adopta afectan el rendimiento de los intermediarios y de las aplicaciones.
Puede utilizar los nodos de tiempo de espera
TimeoutControl
y TimeoutNotification en sus flujos de mensajes para controlar la forma en
la que operan.
- Establezca la propiedad Modalidad de operación del nodo
TimeoutNotification en Automática. Este valor causa la invocación de un flujo con el intervalo especificado en la propiedad
Valor de tiempo de espera. Si el proceso en sentido descendente es intensivo y el
flujo sigue estando ocupado cuando se produzca el siguiente tiempo de espera excedido, el flujo no se iniciará para
esa instancia de tiempo de espera excedido.
Sólo se indicará al flujo que vuelva a iniciarse si está libre cuando se produzca un tiempo de espera determinado.
El valor de la propiedad Instancias adicionales del flujo de mensajes se
ignora en el sentido descendente de un nodo TimeoutNotification y no se puede
utilizar esta propiedad para cambiar el comportamiento del flujo.
- Utilice dos flujos asociados para realizar un proceso de tiempo de espera excedido definido por el usuario.
Establezca un tiempo de espera con un nodo TimeoutControl
y notifique el flujo utilizando un nodo
TimeoutNotification
(que se comporta como un nodo de entrada para iniciar una nueva hebra de flujo de mensajes). Si el proceso en sentido descendente desde el nodo TimeoutNotification es
significativo, se pueden acumular las solicitudes configuradas en el nodo
TimeoutControl. Puede indicar que los mensajes de tiempo de espera excedido se generen únicamente cuando el flujo que se inicie con el
nodo TimeoutNotification vuelva a quedar libre.
No se puede aumentar la propiedad Instancias adicionales del flujo de
mensajes si empieza por un nodo TimeoutNotification y, por lo tanto, no
puede aplicar más hebras para aumentar la capacidad del flujo.
Aunque se puede utilizar un nodo
TimeoutNotification para que
los nodos de un flujo de mensajes realicen un sondeo para buscar el
siguiente elemento de trabajo, ese planteamiento fuerza una demora entre
cada transacción y, normalmente, no proporciona una solución eficaz. Si
desea comprobar periódicamente si un recurso tiene ya el siguiente trabajo
y procesarlo inmediatamente, vea si es conveniente llevar a cabo una o más
de las siguientes soluciones alternativas:
- Utilizar un nodo de entrada incorporado.
- Escribir su propio nodo de entrada utilizando la API de nodo definido por el usuario (en Java™ o en C).
- Considerar la posibilidad de adquirir un adaptador de IBM® o de otro proveedor que sondee
el subsistema que desee y desencadene el flujo.
Un flujo de mensajes que utilice estas opciones puede procesar más trabajo general del que puede si el
usuario implementa una solución de tiempo de espera, e incurre en un coste de CPU más bajo, aunque los costes
iniciales de desarrollo puedan ser ligeramente superiores.