Utilice el nodo TimeoutNotification para gestionar flujos de mensajes que dependan del tiempo de espera.
Este tema contiene las secciones siguientes:
El nodo TimeoutNotification es un nodo de entrada que se puede utilizar de dos maneras:
El nodo TimeoutNotification procesa mensajes de solicitud de tiempo de espera que se envían mediante los nodos TimeoutControl con los que está emparejado y propaga copias de los mensajes (o fragmentos seleccionados de los mensajes) al siguiente nodo del flujo de mensajes.
Los mensajes generados se propagan al siguiente nodo del flujo de mensajes a intervalos de tiempo que se especifican en la configuración de este nodo.
El nodo TimeoutNotification se encuentra en la bandeja Temporizador de la paleta y está representado en el WebSphere Message Broker Toolkit mediante el siguiente icono:
Utilice un nodo TimeoutControl y un nodo TimeoutNotification juntos en un flujo de mensajes para una aplicación que necesite que los sucesos se produzcan a una hora determinada o a intervalos regulares; por ejemplo, cuando desee que un trabajo de proceso por lotes se ejecute cada día a medianoche o que se envíe a los bancos información sobre los tipos de cambio de moneda a intervalos de una hora.
Se puede utilizar más de un nodo TimeoutControl con un nodo TimeoutNotification. Las solicitudes de tiempo de espera que se inician mediante esos nodos TimeoutControl las procesa todas un mismo nodo TimeoutNotification si se utiliza el mismo Identificador exclusivo para el nodo TimeoutNotification y cada uno de los nodos TimeoutControl. Sin embargo, no utilice el mismo Identificador exclusivo para más de un nodo TimeoutNotification.
Los mensajes de solicitud de tiempo de espera se almacenan para su proceso en una cola utilizada por el nodo TimeoutNotification. De forma predeterminada, esta cola es SYSTEM.BROKER.TIMEOUT.QUEUE. No obstante, puede utilizar un servicio configurable Temporizador para especificar una cola de tiempo de espera alternativa, que proporciona un mayor control sobre el almacenamiento de mensajes. Para obtener información sobre la utilización de una cola de tiempo de espera alternativa, consulte Configuración del almacenamiento de sucesos para los nodos de tiempo de espera.
Cuando un nodo TimeoutNotification se inicia como resultado del inicio del intermediario o del flujo de mensajes que contiene el nodo, explora el almacenamiento interno de tiempo de espera y depura cualquier solicitud de tiempo de espera no persistente. Se generan notificaciones para todas las solicitudes de tiempo de espera persistentes que ahora son pasadas y que tienen la propiedad IgnoreMissed establecida en False.
CREATE NEXTSIBLING OF OutputRoot.Properties DOMAIN 'MQMD';
SET OutputRoot.MQMD.Version = MQMD_CURRENT_VERSION;
SET OutputRoot.MQMD.Format = 'XML';
Puede ver información sobre los ejemplos sólo cuando utilice el Information Center que está integrado en WebSphere Message Broker Toolkit o el Information Center en línea. Puede ejecutar ejemplos sólo cuando utilice el Information Center que está integrado en WebSphere Message Broker Toolkit.
Cuando haya colocado una instancia del nodo TimeoutNotification en un flujo de mensajes, podrá configurarlo; consulte el apartado Configurar un nodo de flujo de mensajes. Las propiedades del nodo se visualizan en la vista Propiedades. Todas las propiedades obligatorias para las que debe especificar un valor (las que no tienen un valor predeterminado definido) están marcadas con un asterisco.
Los terminales del nodo TimeoutNotification se describen en la tabla siguiente.
Terminal | Descripción |
---|---|
De anomalías | Terminal de salida en el que se propaga el mensaje si se detecta una anomalía durante el proceso en este nodo. Se pueden conectar nodos a este terminal para procesar estas anomalías. Si este terminal no está conectado a otro nodo, no se propagan mensajes y no se produce ninguna anotación ni ningún almacenamiento seguro de los datos. |
De salida | Terminal de salida en el que se propagan los mensajes después de que
caduquen los tiempos de espera.
|
Catch (de captación) | Terminal de salida al que se propaga el mensaje si se genera una
excepción en sentido descendente. Si este terminal no está conectado a otro nodo, se producen
los sucesos siguientes:
|
Las tablas siguientes describen las propiedades del nodo. La columna con la cabecera O indica si la propiedad es obligatoria (marcada con un asterisco si tiene que entrar un valor cuando no hay definido ningún valor predeterminado); la columna con la cabecera C indica si la propiedad es configurable (puede cambiar el valor cuando añade el flujo de mensajes al archivo BAR para desplegarlo).
En la tabla siguiente se describen las propiedades de descripción del nodo TimeoutNotification.
Propiedad | O | C | Valor predeterminado | Descripción |
---|---|---|---|---|
Nombre de nodo | No | No | El tipo de nodo: TimeoutNotification | El nombre del nodo. |
Descripción corta | No | No | Descripción breve del nodo. | |
Descripción larga | No | No | Texto que describe la finalidad del nodo en el flujo de mensajes. |
En la tabla siguiente se describen las propiedades básicas del nodo TimeoutNotification.
Propiedad | O | C | Valor predeterminado | Descripción | Propiedad de mandato mqsiapplybaroverride |
---|---|---|---|---|---|
Identificador exclusivo | Sí | Sí | Ninguno | Esta propiedad especifica un valor que es un valor que es exclusivo dentro del intermediario y que es el mismo identificador que el especificado para los nodos TimeoutControl con los que está emparejado este nodo (si los hay). La longitud máxima de este identificador
es de 12 caracteres. Este nombre también se utiliza para identificar un servicio configurable Temporizador (si existe uno) que el nodo utilizará. No utilice el mismo Identificador exclusivo para más de un nodo TimeoutNotification. |
uniqueIdentifier |
Modalidad de transacción | No | No | Sí | La modalidad de transacción para el nodo. Si la modalidad de transacción es Automática, una transacción se basa en
la persistencia de los mensajes almacenados, lo cual está controlado por la propiedad
Persistencia de solicitudes del nodo
TimeoutControl con el que está emparejado. Puede establecer esta propiedad en uno de los valores siguientes:
|
|
Modalidad de operación | No | No | Automática | Esta propiedad indica si este nodo está emparejado con cualquier
nodo TimeoutControl emparejado. Los valores válidos son:
|
|
Intervalo de tiempo de espera | No | Sí | 1 | Intervalo (en segundos) entre peticiones de tiempo de espera.
Esta propiedad sólo es pertinente si la
Modalidad de operación se establece
en Automática. El valor de esta propiedad debe ser un entero positivo. Si la Modalidad de operación está establecida en Automática, el valor de la propiedad Intervalo de tiempo de espera se altera temporalmente mediante la propiedad Intervalo de tiempo de espera, si se ha establecido, en el servicio configurable Temporizador. |
timeoutInterval |
En la tabla siguiente se describen las propiedades de las Opciones de análisis para el nodo TimeoutNotification.
Propiedad | O | C | Valor predeterminado | Descripción |
---|---|---|---|---|
Temporización del análisis | No | No | A petición | Esta propiedad controla cuándo se analiza el mensaje de tiempo de espera excedido. Los valores válidos son A petición, Inmediato
y Completo. De forma predeterminada, esta propiedad se establece en A solicitud, con lo cual el análisis del mensaje se retrasa. Para que el mensaje se analice inmediatamente, consulte Análisis a petición. |
Crear árbol utilizando los tipos de datos de esquema XML | No | No | No seleccionado | Esta propiedad controla si el analizador XMLNSC crea elementos de sintaxis en el árbol de mensajes con tipos tipos de datos tomados del esquema XML. Esta propiedad sólo se puede seleccionar si se establece la propiedad Validar del separador Validación en Contenido o Contenido y valor. |
Utilizar analizador compacto MQRFH2C para dominio MQRFH2 | No | No | No seleccionado | Esta propiedad controla si se utiliza el Analizador compacto MQRFH2C, en lugar del analizador MQRFH2, para las cabeceras MQRFH2. |
Utilizar analizador compacto XMLNSC para dominio XMLNS | No | No | No seleccionado | Esta propiedad controla si el analizador compacto XMLNSC se utiliza para mensajes en el dominio XMLNS. Si establece esta propiedad, los datos del mensaje aparecen bajo XMLNSC en los nodos que estén conectados al terminal de salida cuando la cabecera RFH2 de entrada o el dominio de las propiedades predeterminado sea XMLNS. |
Retener contenido mixto | No | No | Ninguno | Esta propiedad controla si el analizador XMLNSC crea elementos en el árbol de mensajes cuando encuentra texto mixto en un mensaje de tiempo de espera excedido. Si selecciona el recuadro, se crean elementos para el texto mixto. Si deselecciona el recuadro, el texto mixto se ignora y no se crea ningún elemento. |
Retener comentarios | No | No | Ninguno | Esta propiedad controla si el analizador XMLNSC crea elementos en el árbol de mensajes cuando encuentra comentarios en un mensaje de tiempo de espera excedido. Si selecciona el recuadro, se crean elementos para los comentarios. Si deselecciona el recuadro, los comentarios se ignoran y no se crea ningún elemento. |
Retener instrucciones de proceso | No | No | Ninguno | Esta propiedad controla si el analizador XMLNSC crea elementos en el árbol de mensajes cuando encuentra instrucciones de proceso en un mensaje de tiempo de espera excedido. Si selecciona el recuadro, se crean elementos para las instrucciones de proceso. Si deselecciona el recuadro, las instrucciones de proceso se ignoran y no se crea ningún elemento. |
Elementos opacos | No | No | Espacio en blanco | Esta propiedad se utiliza para especificar una lista de elementos del mensaje de tiempo de espera excedido que el analizador XMLNSC deba analizar de forma opaca. El análisis opaco sólo se realiza si la validación no está habilitada (es decir, si Validar tiene el valor Ninguno); las entradas que se especifiquen en Elementos opacos se omiten si la validación está habilitada. |
Las propiedades de validación del nodo TimeoutNotification se describen en la tabla siguiente.
Si un mensaje se propaga al terminal de anomalías (Failure) del nodo, no se valida. Para obtener más información, consulte Validar mensajes y Propiedades de validación.Propiedad | O | C | Valor predeterminado | Descripción | Propiedad de mandato mqsiapplybaroverride |
---|---|---|---|---|---|
Validar | No | Sí | Ninguno | Esta propiedad controla si tiene lugar la validación. Los valores válidos son Ninguno, Contenido yContenido y valor. | validateMaster |
Acción para anomalía | No | No | Excepción | Esta propiedad controla qué sucede si falla la validación. Sólo puede establecer esta propiedad si establece Validar en Contenido o Contenido y valor. Los valores válidos son Rastreo de usuario, Anotaciones de error locales, Excepción y Lista de excepciones. |
Propiedad | O | C | Valor predeterminado | Descripción |
---|---|---|---|---|
Sucesos | No | No | Ninguno | Los sucesos que se han definido para el nodo se visualizan en este separador. De forma predeterminada, no se define ningún suceso de supervisión en ningún nodo en un flujo de mensajes. Utilice Añadir, Editar y
Suprimir para crear, cambiar o suprimir sucesos de supervisión para el nodo; consulte Configuración de orígenes de sucesos de supervisión utilizando propiedades de supervisión para obtener detalles. Puede habilitar e inhabilitar sucesos que se muestran aquí seleccionando o deseleccionando el recuadro Habilitado. |