Message Routing サンプルの ESQL にわずかな変更を加えるだけで、他のメッセージ・フローでも使用できるようになります。
リフレッシュ・メッセージが ROUTING.REFRESH キューに送信されるとキャッシュが現在リフレッシュされる。
キャッシュのリフレッシュのタイミングを決定する際、以下のような他の基準も使用できます。
基準を変更するには、ESQL で以下のロケーションを編集します。
60 秒の期間を使用するようにリフレッシュ基準を変更するには、以下を行います。
IF CacheFile.LastUpDate is not null and (CURRENT_TIMESTAMP - CacheFile.LastUpDate) second < INTERVAL '60' SECOND THEN
IF CacheFile.Valid is not null THENの 2 番目のインスタンスを直前のステップのインスタンスと同じものに変更します。
SET CacheFile.valid = true;このように変更します。
SET CacheFile.LastUpDate = CURRENT_TIMESTAMP;
現在、このサンプルでは、レコード選択式を設定することにより、伝搬するレコードを選択しています。 場合によっては、メッセージが送られるたびに、ファイル中の次のレコードを取り出すほうがよいことがあります。 このアクションを実行するために、オフセットを設定することができます。
以下の方法でオフセット・プロパティーを使用できます。
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;「計算モード」プロパティーを「LocalEnvironment」に設定します。
SET OutputLocalEnvironment = InputLocalEnvironment;「計算モード」プロパティーを「LocalEnvironment」に設定します。
SET cache.file.offset = OutputLocalEnvironment.File.Read.NextRecordOffset;
このサンプルは、メッセージを特定のキューに経路指定する方法を示すものです。 別の使用方法として、ラベルへのルーティングが考えられます。 これを実装するには、以下の手順に従います。
MQOutput ノードは、別の種類の出力ノードに置き換えることができます。 例えば、RouteToLabel ノードを用いてフローを使用します。