Você pode modificar a amostra de Roteamento de Mensagem ESQL de forma que possa usá-la em outros fluxos de mensagem com poucas alterações.
O cache é atualizado atualmente quando uma mensagem de atualização for enviada para a fila ROUTING.REFRESH.
Outros critérios podem ser usados para decidir quando atualizar o cache, por exemplo.
Para alterar os critérios, edite o seguinte local no ESQL:
Para alterar os critérios de atualização para utilizar um período de tempo 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 a mesma como na etapa anterior
SET CacheFile.valid = true;a
SET CacheFile.LastUpDate = CURRENT_TIMESTAMP;
Atualmente, a amostra escolhe qual registro será propagado ao configurar a expressão de seleção de registro. Esso pode ser o caso em que, sempre que uma mensagem é enviada, você deseja recuperar o próximo registro no arquivo. Essa ação pode ser feita ao configurar a compensação.
É possível usar a propriedade de deslocamento da seguinte maneira:
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;Configure a propriedade Modo Compute para LocalEnvironment.
SET OutputLocalEnvironment = InputLocalEnvironment;Configure a propriedade Modo Compute para LocalEnvironment.
SET cache.file.offset = OutputLocalEnvironment.File.Read.NextRecordOffset;
A amostra exibe como rotear uma mensagem para uma determinada fila. Outro uso pode ser um roteamento para um rótulo. Para implementar esse uso, use as seguintes instruções:
É possível substituir os nós MQOutput por outros tipos de nó de saída. Por exemplo, use um fluxo usando um nó RouteToLabel: