以下に、さまざまなキャッシュのプロパティー設定 を示します。プロパティー値がすべてストリング値であることを確認します。
初期コンテキスト・インスタンスに関連付けるキャッシュ名を、 このプロパティーで指定できます。
複数の InitialContext インスタンスを、 それぞれが異なるネーム・サーバーのネーム・スペースで動作するように作成できます。 デフォルトでは、 各ブートストラップ・アドレスからのオブジェクトは、 別個にキャッシュされます。 これは、それぞれが独立したネーム・スペースを必要とし、 同じキャッシュを使用した場合は、 名前の衝突が発生する可能性があるためです。 デフォルトで初期コンテキストが作成されたときに指定されたプロバイダー URL は、 キャッシュ名の基本となります。 このプロパティーにより、JNDI クライアントはキャッシュ名を指定できます。 以下に、キャッシュ名に有効なオプションを示します。
有効なオプション | 結果としてのキャッシュの動作 |
providerURL (デフォルト) | キャッシュ名に java.naming.provider.url プロパティーの値を使用します。 キャッシュ名は、URL に指定されているブートストラップ・ホストとポートに基づいています。ブートストラップ・ホストは、可能な場合、完全修飾名に正規化されます。例えば、"corbaname:iiop:server1:2809#some/starting/context" および "corbaloc:iiop://server1" は、同一のキャッシュ名に正規化されます。 プロバイダー URL が指定されていない場合、デフォルトのキャッシュ名が使用されます。 |
任意のストリング | 指定されたストリングをキャッシュ名として使用します。「providerURL」以外の値を持つ任意のストリングをキャッシュ名として使用できます。 |
キャッシュをオン/オフして、このプロパティーを使用して既存のキャッシュをクリアします。
デフォルトでは、InitialContext はインスタンス化される際に、 既存のキャッシュと関連付けられるか、 あるいはキャッシュが存在しない場合は新規に作成されます。 既存のキャッシュは、既存のコンテキストと共に使用されます。 環境によっては、この動作は望ましくありません。 例えば、 ルックアップが行われるオブジェクトが頻繁に変更される場合は、 キャッシュ内のオブジェクトが不整合になる可能性があります。 その他のオプションは使用可能です。 以下の表は、その他のオプションおよびそれに対応するプロパティー値を示します。
有効な値 | 結果としてのキャッシュの動作 |
populated (デフォルト) | 指定された名前でキャッシュを使用します。 キャッシュが既に存在する場合は、 既存のキャッシュ・エントリーをキャッシュに残します。 このようにしない場合は、新しいキャッシュを作成します。 |
cleared | 指定された名前でキャッシュを使用します。 キャッシュが既に存在する場合は、 既存のキャッシュ・エントリーをすべてキャッシュからクリアします。 このようにしない場合は、新しいキャッシュを作成します。 |
none | キャッシュしません。 このオプションを指定した場合、キャッシュ名は関係ありません。 したがって、このオプションを指定しても、 他の InitialContext インスタンスとすでに関連付けられているキャッシュは使用不可にはなりません。 インスタンスが生成された InitialContext は、キャッシュに関連付けられません。 |
このプロパティーを使用して、キャッシュの経過時間を制限することができます。
デフォルトでは、キャッシュされたオブジェクトは、プロセスが存続中であるか、 または com.ibm.websphere.naming.jndicache.cacheobject プロパティーが「cleared」に設定されるまで、 キャッシュに残されます。 このプロパティーにより、JNDI クライアントはキャッシュの最大存続時間を設定できます。 このプロパティーは、 キャッシュの存続時間に達したときにキャッシュ全体をクリアするという点で、maxentrylife プロパティー (後述) とは異なります。 以下の表は、各種 maxcachelife 値、およびそれらの値によるキャッシュの動作への影響をリストしています。
有効なオプション | 結果としてのキャッシュの動作 |
0 (デフォルト) | キャッシュの存続時間を無制限にします。 |
正整数 | キャッシュ全体の最大存続時間を、指定された値 (分単位) に設定できます。 キャッシュの最大存続時間に達した場合、 キャッシュからそのエントリーを次に読み取ろうとすると、 キャッシュはクリアされます。 |
このプロパティーを使用して、個々のキャッシュ・エントリーの経過時間を制限することができます。
デフォルトでは、キャッシュされたオブジェクトは、プロセスが存続中であるか、 または com.ibm.websphere.naming.jndicache.cacheobject プロパティーが「cleared」に設定されるまで、 キャッシュに残されます。 このプロパティーにより、JNDI クライアントは個々のキャッシュ・エントリーの最大存続時間を設定できます。 このプロパティーは、 キャッシュの最大存続時間に達したときに個々のエントリーを個別にリフレッシュするという点で、maxcachelife プロパティーとは異なります。 これにより、キャッシュ全体が一度にクリアされる場合に発生する恐れがある、 パフォーマンス上の顕著な変化はいずれも避けられます。 以下の表に、各種 maxentrylife 値、 およびこれらの値によるキャッシュの動作への影響を示します。
有効なオプション | 結果としてのキャッシュの動作 |
0 (デフォルト) | キャッシュ・エントリーの存続時間を無制限にします。 |
正整数 | 個々のキャッシュ・エントリーの最大存続時間を、指定された値 (分単位) に設定できます。 エントリーの最大存続時間に達した場合、 キャッシュからそのエントリーを次に読み取ろうとすると、 キャッシュ・エントリーはリフレッシュされます。 |