データがグローバル・キャッシュから自動的に削除されるタイミングを指定します。
JavaCompute ノードを組み込んだメッセージ・フローを作成し、そのノードに関する Java™ ファイルを作成します。 詳細な指示については、JavaCompute ノードを使用したグローバル・キャッシュへのアクセスを参照してください。
MbGlobalMap オブジェクトを取得するとき、データをグローバル・キャッシュに保持した後に自動的に削除するまでの時間の長さを指定できます。 この時間は存続時間 と呼ばれ、マップ項目の最終更新日時からのカウントです。 この値は、メッセージ・フローの同一のインスタンス内でその MbGlobalMap オブジェクトを使用して作成されたすべてのキャッシュ項目に適用されます。 指定したマップ内に既にあるデータや、別の MbGlobalMap オブジェクトによって作成されたデータは、存続時間値による影響は受けません。
デフォルトでは存続時間はゼロに設定され、データはいつまでも削除されません。 特定の存続時間を設定するには、MbGlobalMap オブジェクトから参照可能なセッション・ポリシーを作成します。
MbGlobalMap myMap = MbGlobalMap.getGlobalMap("myMap", new MbGlobalMapSessionPolicy(60));
MbGlobalMapSessionPolicy sessionPol = new MbGlobalMapSessionPolicy(60);
MbGlobalMap myMap = MbGlobalMap.getGlobalMap("myMap", sessionPol);
複数の MbGlobalMap オブジェクトを複数の異なるフロー、実行グループ、またはブローカーに作成し、グローバル・キャッシュ内の同一マップにそれらすべてが解決されるようにした上で、それぞれに異なる存続時間値を設定することもできます。 ただし、異なる存続時間値を持つ複数のキャッシュ項目を同一メッセージ・フローの同一マップに配置するときには、特定の方法でコードを構成する必要があります。
MbGlobalMap m1 = MbGlobalMap.getGlobalMap("myMap", new MbGlobalMapSessionPolicy(60));
MbGlobalMap m2 = MbGlobalMap.getGlobalMap("myMap", new MbGlobalMapSessionPolicy(40));
MbGlobalMap m3 = MbGlobalMap.getGlobalMap("myMap", new MbGlobalMapSessionPolicy(20));
m1.put("k1","v1");
m2.put("k2","v2");
m3.put("k3","v3");
MbGlobalMap m1 = MbGlobalMap.getGlobalMap("myMap", new MbGlobalMapSessionPolicy(60));
m1.put("k1","v1");
m1 = MbGlobalMap.getGlobalMap("myMap", new MbGlobalMapSessionPolicy(40));
m1.put("k2","v2");
m1 = MbGlobalMap.getGlobalMap("myMap", new MbGlobalMapSessionPolicy(20));
m1.put("k3","v3");
グローバル・キャッシュとの対話を完了するには、JavaCompute ノードを使用したグローバル・キャッシュへのアクセスの残りのステップを実行します。