WebSphere Message Broker バージョン 8.0.0.5 オペレーティング・システム: AIX、HP-Itanium、Linux、Solaris、Windows、z/OS

製品の最新バージョンについては、IBM Integration Bus バージョン 9.0 をご覧ください。

グローバル・キャッシュからのデータの削除

データがグローバル・キャッシュから自動的に削除されるタイミングを指定します。

始める前に:

JavaCompute ノードを組み込んだメッセージ・フローを作成し、そのノードに関する Java™ ファイルを作成します。 詳細な指示については、JavaCompute ノードを使用したグローバル・キャッシュへのアクセスを参照してください。

MbGlobalMap オブジェクトを取得するとき、データをグローバル・キャッシュに保持した後に自動的に削除するまでの時間の長さを指定できます。 この時間は存続時間 と呼ばれ、マップ項目の最終更新日時からのカウントです。 この値は、メッセージ・フローの同一のインスタンス内でその MbGlobalMap オブジェクトを使用して作成されたすべてのキャッシュ項目に適用されます。 指定したマップ内に既にあるデータや、別の MbGlobalMap オブジェクトによって作成されたデータは、存続時間値による影響は受けません。

デフォルトでは存続時間はゼロに設定され、データはいつまでも削除されません。 特定の存続時間を設定するには、MbGlobalMap オブジェクトから参照可能なセッション・ポリシーを作成します。

存続時間値は 2 つの方法で指定できます。 次の例はどちらも、マップ「myMap」のキャッシュ項目の存続時間に 60 秒を設定する方法を示しています。
例 1
MbGlobalMap myMap = MbGlobalMap.getGlobalMap("myMap", new MbGlobalMapSessionPolicy(60));
例 2
MbGlobalMapSessionPolicy sessionPol = new MbGlobalMapSessionPolicy(60);
MbGlobalMap myMap = MbGlobalMap.getGlobalMap("myMap", sessionPol);
マップ「myMap」のデータは最終更新日時から 60 秒後に自動的に削除されます。

複数の MbGlobalMap オブジェクトを複数の異なるフロー、実行グループ、またはブローカーに作成し、グローバル・キャッシュ内の同一マップにそれらすべてが解決されるようにした上で、それぞれに異なる存続時間値を設定することもできます。 ただし、異なる存続時間値を持つ複数のキャッシュ項目を同一メッセージ・フローの同一マップに配置するときには、特定の方法でコードを構成する必要があります。

次の例では、MbGlobalMap オブジェクトがすべて作成されてから、put ステートメントが実行されます。 3 つの MbGlobalMap オブジェクトはすべて、同一の基礎マップに解決されます。 後続の各 MbGlobalMap オブジェクトの存続時間値は、先行するオブジェクトに設定された値を置き換えます。 それで、各 put ステートメントの後 20 秒でデータは削除されます。
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");
次の例では、各 put ステートメントは、関連付けられた MbGlobalMap オブジェクトが作成された直後に実行されます。 それで、各 put ステートメントによって作成されるキャッシュ項目はそれぞれ異なる存続時間値を持つと見なされます。
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 ノードを使用したグローバル・キャッシュへのアクセスの残りのステップを実行します。

特記事項 | 商標 | ダウンロード | ライブラリー | サポート | フィードバック

Copyright IBM Corporation 1999, 2014Copyright IBM Corporation 1999, 2014.

        
        最終更新:
        
        最終更新: 2015-02-28 17:48:38


タスク・トピックタスク・トピック | バージョン 8.0.0.5 | bc23801_