Puede utilizar dos propiedades de los nodos de agregación para establecer los valores de tiempo de espera para el proceso de mensajes agregados.
Si un servicio configurable Aggregation existe con el mismo nombre que un grupo de ejecución, puede utilizarse para cada agregación en el grupo de ejecución. No obstante, si un servicio configurable existe con el mismo nombre que una agregación en el grupo de ejecución, se utiliza para esa agregación específica. En cada caso, el valor de la propiedad timeoutSeconds del servicio configurable prevalece sobre la propiedad Tiempo de espera del nodo AggregateControl.
Para obtener más información sobre el servicio configurable Aggregation, consulte Propiedades de servicios configurables.
Puede utilizar la propiedad Ubicación de tiempo de espera del nodo AggregateControl para especificar la ubicación de un valor de tiempo de espera en el mensaje entrante. Cualquier valor de tiempo de espera que se especifique de esta manera prevalece sobre los valores especificados por el nodo AggregateControl y el servicio configurable de agregación.
Para obtener más información, consulte Nodo AggregateControl.
De forma predeterminada, el sondeo de tiempo de espera se lleva a cabo cada 5 segundos. Por tanto, si establece la propiedad Tiempo de espera en un valor que no sea un múltiplo de 5, se provoca un retardo adicional. Por ejemplo, si establece la propiedad Tiempo de espera en 7 segundos, observará un retardo de 3 segundos hasta que se lleve a cabo el sondeo de tiempo de espera siguiente. Puede cambiar el intervalo de sondeo de tiempo de espera predeterminado, mediante la variable de entorno MQSI_AGGR_WAIT_TIMEOUT. Los valores válidos son de 1000 a 5000 milisegundos. Para cambiar el intervalo de sondeo predeterminado, detenga el intermediario y, a continuación, reinicie el intermediario en un entorno en el que haya establecido la variable de entorno MQSI_AGGR_WAIT_TIMEOUT.
Si el intervalo de tiempo de espera pasa sin que lleguen todas las respuestas, el nodo AggregateReply correspondiente convierte las respuestas que lleguen en un mensaje de respuesta agregado que se propaga a su terminal Timeout. Puede procesar este mensaje de respuesta parcial del mismo modo como un mensaje de respuesta agregado completo. Si lo prefiere, puede proporcionar un proceso especial para las respuestas de agregación incompletas.
Cuando establece esta propiedad, no se reconocerá de forma inmediata un mensaje como una respuesta válida que se guarda de forma persistente en el intermediario durante el número de segundos que especifique para esta propiedad.
Si caduca el intervalo de tiempo de espera desconocido y se reconoce el mensaje, se procesará. El nodo también comprueba si este mensaje previamente desconocido es la última respuesta que se necesita para completar una agregación. Si lo es, se crea el mensaje de respuesta y se propaga.
Si caduca el intervalo de tiempo de espera desconocido y todavía no se ha reconocido el mensaje, el mensaje se propaga al terminal Unknown.