[キャッシング]ページを使用して、クラスタアプリケーションサーバ環境または非クラスタアプリケーションサーバ環境のキャッシュ環境設定を表示または変更できます。変更はただちに保存されますが、次回ユーザアプリケーションが再起動されるまで有効になりません。
ヒント:ユーザアプリケーションを再起動するには、アプリケーションサーバの再起動、アプリケーションの再展開(WARが変更されている場合)、アプリケーションの強制的な再起動(アプリケーションサーバのマニュアルに記載されている方法による)のいずれかを行います。
キャッシュを設定するには、次について理解している必要があります。
Identity Managerユーザアプリケーションでは、キャッシングはJBoss Cacheにより実装されます。JBoss Cacheは、JBoss Application Serverに含まれているオープンソースのキャッシングアーキテクチャであり、他のアプリケーションサーバでも実行できます。
JBoss Cacheの詳細については、www.jboss.org/products/jbosscacheを参照してください。
キャッシュ環境設定を制御するための設定には2つのレベルがあります。これら2つのレベルの設定を使用して、Identity Managerユーザアプリケーションのキャッシング動作をカスタマイズできます。
グローバル設定は、ユーザアプリケーションドライバの特定のインスタンスを使用する各アプリケーションサーバのデフォルト値と考えます。グローバル設定の変更は、サーバが個別にローカル上書きを指定している場合を除き、次回ユーザアプリケーションの再起動時に、各サーバに反映されます。
[キャッシング]ページでは、現在の(最後にユーザアプリケーションを再起動してからの)キャッシュ設定が表示されます。また、これらの設定に対応するグローバル値およびローカル値も表示され、設定を変更することもできます(変更された設定は、次回ユーザアプリケーションの再起動時から有効になります)。
グローバル設定では、値の設定が必須です。ローカル設定はオプションです。
次のキャッシュ設定は、クラスタアプリケーションサーバ環境および非クラスタアプリケーションサーバ環境の両方に適用されます。
[キャッシング]ページに移動します。
[キャッシュ環境設定]セクションで、必要に応じて、次の設定のグローバル値またはローカル値を指定します。
設定 |
操作 |
---|---|
ロック取得タイムアウト |
オブジェクトでロックが取得されるまでキャッシュが待機する間隔(ミリ秒)を指定します。ユーザアプリケーションのアプリケーションログに大量のロックタイムアウト例外が書き込まれる場合に、この設定値を増やすことができます。デフォルトは15000ミリ秒です。 |
立ち退きポリシークラス |
使用するキャッシュ立ち退きポリシーのクラス名を指定します。デフォルトは、JBoss Cacheが提供するLRU立ち退きポリシーです。 org.jboss.cache.eviction.LRUPolicy この設定は、必要に応じて、JBoss Cacheがサポートする別の立ち退きポリシーに変更できます。 サポート対象の立ち退きポリシーについては、www.jboss.org/products/jbosscacheを参照してください。 |
ウェイクアップ間隔(秒) |
次の動作を実行するためにキャッシュ立ち退きポリシーがウェイクアップするまでの待機間隔(秒)を指定します。
|
最大ノード |
キャッシュで許容される最大ノード数を指定します。無制限の場合は、次の値を指定します。 0 |
ライブまでの時間(秒) |
ノードが一掃されるまでのアイドル時間(秒)を指定します。無制限の場合は、次の値を指定します。 0 |
これらの設定は必須です。各設定にはグローバル値を指定する必要があり、ローカル値もオプションで使用される場合があります。
設定のグローバル値をローカル値で上書きする場合は、その設定の[ローカルの有効化]チェックボックスをオンにしてから、ローカル値を指定します。ローカル値がすべて有効であることを確認してください。有効な値でない場合、変更を保存できません。
メモ:[ローカルの有効化]チェックボックスがオフになっている設定は、保存時、既存のローカル値が削除されます。
[保存]をクリックします。
保存した設定を反映できる状態になったら、該当アプリケーションサーバ上でユーザアプリケーションを再起動します。
この節では、Identity Managerユーザアプリケーションをクラスタアプリケーションサーバ間で実行する場合のキャッシングの設定方法について説明します。次について理解する必要があります。
Identity Managerユーザアプリケーションでは、キャッシングのクラスタサポートはJGroupsにより実装されます。JGroupは、JBoss Application Serverに含まれているオープンソースのクラスタリングアーキテクチャであり、他のアプリケーションサーバでも実行できます。
ユーザアプリケーションのクラスタは、JGroupsを実行し、共通のグループIDを使用するネットワーク上のノードから構成されます。デフォルトでは、ユーザアプリケーションのクラスタに用意されているグループIDは、次のようなUUIDとなります。
c373e901aba5e8ee9966444553544200
UUIDにより一意性が保たれるため、ユーザアプリケーションのクラスタのグループIDが環境内にある他のクラスタのグループIDと競合することはありません。たとえば、JBoss Application Serverでは、2つのJGroupsクラスタが使用され、それぞれ対応するグループIDであるDefaultPartitionとTreeCacheは予約されています。
JGroupsの詳細については、www.jboss.org/products/jgroupsを参照してください。
ユーザアプリケーションを起動すると、アプリケーションのキャッシュ設定により、クラスタに参加してキャッシュ変更をクラスタ内の他のノードに複製するかどうかかが判断されます。クラスタリングが有効になっている場合、ユーザアプリケーションは、変更発生時にキャッシュエントリ無効メッセージを各ノードに送信することにより、この複製を実行します。
クラスタでキャッシングを使用するには、2つの主な手順を実行する必要があります。
JGroupsクラスタの設定
ここでは、すべての環境設定を使用するためのJBoss Application Serverをインストールし、それからクラスタ内の各サーバにIdentity Managerユーザアプリケーション(IDM.war)を配布します。Identity Managerユーザアプリケーション(IDM.war)は通常、farmディレクトリに配置されます。
ユーザアプリケーションのキャッシュ環境設定におけるクラスタ使用の有効化
次に示すクラスタのキャッシュを設定するを参照してください。
クラスタを使用できる状況になったら、クラスタのキャッシング設定を指定します。
[キャッシング]ページに移動します。
[クラスタ設定]セクションで、必要に応じて、次の設定のグローバル値またはローカル値を指定します。
設定 |
操作 |
---|---|
有効なクラスタ |
グループIDにより指定されたクラスタ内の別のノードにキャッシュの変更を複製する場合は、[True]を選択します。クラスタに参加しない場合は、[False]を選択します。 |
グループID |
参加対象のJGroupsクラスタのグループIDを指定します。通常は、ユーザアプリケーションクラスタ用に用意されているグループIDのデフォルト値を変更する必要はありません。ただし、別のクラスタを使用する場合は変更します。 DefaultPartitionおよびTreeCacheというグループIDは、JBoss Application Serverが使用するために予約されています。 ヒント:グループIDをログメッセージに表示する場合は、キャッシングログ(com.sssw.fw.cachemgr)のレベルが「情報」以上になっていることを確認します。 |
クラスタのプロパティ |
グループIDにより指定されたクラスタのJGroupsプロトコルスタックを指定します。この設定は、クラスタのプロパティ調整の必要が想定される経験のある管理者のためのものです。経験のある管理者以外は、デフォルトのプロトコルスタックを変更しないでください。 現在のクラスタのプロパティを表示するには、[表示]をクリックします。 JGroupsプロトコルスタックの詳細については、www.joss.org/wiki/Wiki.jsp?page=JGroupsを参照してください。 |
設定のグローバル値をローカル値で上書きする場合は、その設定の[ローカルの有効化]チェックボックスをオンにしてから、ローカル値を指定します。
メモ:[ローカルの有効化]チェックボックスがオフになっている設定は、保存時、既存のローカル値が削除されます。
クラスタ内のすべてのノードの[グループID]および[クラスタのプロパティ]が同じ設定になっていることを確認します。特定のノードについてこれらの設定を確認する場合には、そのサーバ上のユーザインタフェースのURLを参照することにより、そのノードを実行しているIdentity Managerユーザインタフェースにアクセスし、それから[キャッシング]ページを表示する必要があります。
[保存]をクリックします。
保存した設定を反映できる状態になったら、該当アプリケーションサーバ上でユーザアプリケーションを再起動します。