Puede modificar el ESQL del ejemplo de Direccionamiento de mensajes para poder utilizarlo en otros flujos de mensajes con muy pocos cambios.
La memoria caché se está renovando actualmente cuando un mensaje de renovación se envía a la cola ROUTING.REFRESH.
Pueden utilizarse otros criterios para decidir cuándo se debe renovar la memoria caché, por ejemplo:
Para cambiar el criterio, edite la ubicación siguiente en el ESQL:
Para cambiar los criterios de renovación para que se utilice un periodo de tiempo de 60 segundos:
IF CacheFile.LastUpDate is not null and (CURRENT_TIMESTAMP - CacheFile.LastUpDate) second < INTERVAL '60' SECOND THEN
IF CacheFile.Valid is not null THENpara que sea igual que en el paso anterior.
SET CacheFile.valid = true;a
SET CacheFile.LastUpDate = CURRENT_TIMESTAMP;
Actualmente, el ejemplo elige el registro que se va a propagar estableciendo la expresión de selección de registro. Puede ocurrir que cada vez que se envíe un mensaje, desee recuperar el registro siguiente en el archivo. Esta acción se puede conseguir estableciendo el desplazamiento.
Puede utilizar la propiedad de desplazamiento de la siguiente manera:
declare cache SHARED ROW;
SET OutputLocalEnvironment = InputLocalEnvironment; IF (cache.file.offset > 0) THEN SET OutputLocalEnvironment.Destination.File.Offset = cache.file.offset; ELSE SET OutputLocalEnvironment.Destination.File.Offset = 0; END IF;Establezca la propiedad Modalidad de cálculo en LocalEnvironment.
SET OutputLocalEnvironment = InputLocalEnvironment;Establezca la propiedad Modalidad de cálculo en LocalEnvironment.
SET cache.file.offset = OutputLocalEnvironment.File.Read.NextRecordOffset;
En el ejemplo se muestra cómo se direcciona un mensaje a una cola en particular. Otro uso puede ser direccionar a una etiqueta. Para implementar ésta, utilice las siguientes instrucciones:
Puede sustituir los nodos MQOutput por otros tipos de nodo de salida. Por ejemplo, utilice un flujo utilizando un nodo RouteToLabel: