ヘッダーをスキップ
Oracle Coherence Oracle Coherence*Webユーザーズ・ガイド
リリース3.6.1
B61371-02
  ドキュメント・ライブラリへ移動
ライブラリ
製品リストへ移動
製品
目次へ移動
目次
索引へ移動
索引

前
 
次
 

A Coherence*Webコンテキスト・パラメータ

この付録では、Coherence*Webコンテキスト・パラメータについて説明します。このパラメータは、web.xmlファイルで構成することも、システム・プロパティとしてコマンドラインで入力することもできます。システム・プロパティは、コンテキスト・パラメータと同じ名前を持ちますが、ダッシュ(-)がピリオド(.)に置き換えられています。たとえば、コンテキスト・パラメータのcoherence-enable-sessioncontextは、コマンドラインで次のように宣言できます。

-Dcoherence.enable.sessioncontext=true

システム・プロパティと、同等のコンテキスト・パラメータの両方が構成されている場合、システム・プロパティの値が使用されます。

表A-1 Coherence*Webのコンテキスト・パラメータ

パラメータ名 説明

coherence-attribute-overflow-threshold

スプリット・モデルの場合、大型の属性向けに確保されている独立した「オーバーフロー」キャッシュに格納されるためにシリアライズ形式の属性値が必要な最小長(バイト数単位)をこの値で指定します。

値を指定しない場合は、デフォルトで1024に設定されます。

coherence-cluster-owned

trueの場合は、Webアプリケーションを終了すると自動的にCoherenceノードが終了します。この場合は、WARスコープ設定クラスタ・ノードによるデプロイメント・モデルを使用する必要があります。詳細は、「WARスコープ設定クラスタ・ノード」を参照してください。

falseの場合は、Webアプリケーションの独自の判断でCoherenceノードを終了する必要があります(com.tangosol.net.CacheFactory.shutdown()を参照)。クラスタ・ノードをスコープ設定したデプロイメント・モデルのこの状況での使用、およびアプリケーションがCoherenceノードを終了する環境とその終了処理に伴う副作用を慎重に検討する必要があります。クラスタ・ノードのスコープ設定の詳細は、「クラスタ・ノード分離」を参照してください。

注意: WebInstallerを使用している場合は、trueを指定すると、J2EEアプリケーションにあるWebアプリケーションのWEB-INF/libディレクトリにCoherenceライブラリを配置できます。

値を指定しない場合、このパラメータはデフォルトでfalseに設定されます。

coherence-configuration-consistency

trueの場合、起動時に構成チェックを実行し、Web層にあるすべてのノードで同じCoherence*Web構成であるかどうかを判別します。特定ノードの構成に一貫性がない場合、起動に失敗します(それにより、アプリケーションが起動しなくなります)。

falseの場合(チェックが実行されず)に構成に一貫性がないと、セッション・データの管理においてメンバーが一貫性のない動作をすることがあります。

値を指定しない場合、このパラメータはデフォルトでfalseに設定されます。

coherence-contextless-session-retain-millis

現在のリクエスト・コンテキストとは関係がないセッションにアクセスしているときに、そのセッションに対するロックを保持する時間です(ミリ秒単位)。現在のリクエスト・コンテキストからセッションが暗黙的に指定されるのは、現在のスレッドでサーブレット・リクエストが処理されており、そのセッションに関連付けられている場合のみです。セッション・オブジェクトに対するその他のすべてのアクセスは「コンテキスト外」となります。たとえば、任意のセッションへの参照をSessionContextオブジェクトから取得する場合(該当のオプションが有効になっている場合)や、セッションを直接管理するためのセッション・オブジェクト参照を保持するコードがアプリケーションに記述されている場合です。セッションへのアクセスにはそのセッションの所有権が必要なので、セッション・オブジェクトに対する「コンテキスト外」アクセスでは、コール元にかわって自動的に所有権を取得できます。この所有権はこのオプションで指定した時間だけ保持できるので、セッションのコールごとに所有権の取得と解放が繰り返される、時間のかかる操作を省略できます。指定できる時間は10から10000ミリ秒(1/100から10秒)です。

値を指定しない場合は、デフォルトで200に設定されます。

coherence-distributioncontroller-class

この値は、使用するcom.tangosol.coherence.servlet.HttpSessionCollection$SessionDistributionControllerインタフェース実装のクラス名を指定します。この機能では、coherence-sticky-sessions最適化を有効にする必要があります。

使用可能な値は次のとおりです。

  • com.tangosol.coherence.servlet.AbstractHttpSessionCollection$DistributedController

  • com.tangosol.coherence.servlet.AbstractHttpSessionCollection$HybridController

  • com.tangosol.coherence.servlet.AbstractHttpSessionCollection$LocalController

coherence-enable-sessioncontext(注意1参照)

trueに設定した場合は、アプリケーションでセッション・コンテキストのセッションを繰り返すことができます。この処理は、サーブレット仕様では推奨されていません。

値を指定しない場合は、デフォルトでfalseに設定されます。

coherence-eventlisteners(注意1参照)

Webコンテナからイベントを受信する必要があるアプリケーション・クラス名のカンマ区切りリスト。このリストは、web.xmllistener要素で宣言したアプリケーション・リスナーから得られます。

coherence-enable-suspect-attributes

trueに設定した場合、セッション関連属性の値が変更されたかどうかの検出が試行されます。可変(シンプル・チェックで判別される)でありgetによってアクセスできる属性は、変更された可能性があるとみなされます。可変オブジェクトは、アプリケーション・コードによって変更された可能性があり、再度シリアライズしてキャッシュに戻す必要があります。

値を指定しない場合は、デフォルトでfalseに設定されます。

coherence-factory-class

使用するSessionHelper.Factoryの完全修飾クラス名。

デフォルトでcom.tangosol.coherence.servlet.apiXX.DefaultFactoryに設定されます。ここで、XXは、22232425のいずれかで、それぞれ、サーブレット2.2、2.3、2.4、2.5コンテナに対応します。

coherence-local-session-cachename

この名前は、coherence-distributioncontroller-classパラメータを指定した場合に、分散されないセッションを保存するローカル・キャッシュの名前をオーバーライドします。

値を指定しない場合は、デフォルトでlocal-session-storageに設定されます。このパラメータの詳細は、付録C「セッション・キャッシュ構成ファイル」を参照してください。

coherence-local-attribute-cachename

この名前は、coherence-sessiondistributioncontroller-classパラメータを指定した場合またはcoherence-preserve-attributesパラメータにtrueを指定した場合に、分散されないセッションを保存するローカル・キャッシュの名前をオーバーライドします。

値を指定しない場合は、デフォルトでlocal-attribute-storageに設定されます。このパラメータの詳細は、付録C「セッション・キャッシュ構成ファイル」を参照してください。

coherence-preserve-attributes

この値をtrueに設定した場合は、シリアライズ不可能な属性をローカルな属性として維持する指定となります。このパラメータでは、セッションのシリアライズ不可属性を取得するためにロード・バランサが必要です。

値を指定しない場合は、デフォルトでfalseに設定されます。

coherence-reaperdaemon-assume-locality

この設定により、セッション・リーパーでは、(たとえば、分散キャッシュ・サービスによって)このノードに保存されるセッションは、このノードで期限切れのチェックが必要なセッションのみであると仮定できます。リーパーを実行していないノードでセッションの記憶域キャッシュを管理している場合は、この値をfalseに設定する必要があります。たとえば、セッションの記憶域キャッシュの管理にキャッシュ・サーバーを使用している場合がこれに該当します

キャッシュ・サーバーを使用している場合は、「スプリット」モデルを選択し、全体をそのキャッシュ・サーバーで管理している独立した分散キャッシュ・サービスでセッションのオーバーフロー記憶域を実行します。セッションの記憶域キャッシュ自体は、全体をアプリケーション・サーバーJVMで管理している分散キャッシュ・サービスに残します。これによって、この「ローカル性を前提とした」機能を活用できます。セッション・リーパーの詳細は、「期限切れHTTPセッションのクリーンアップ」を参照してください。

値を指定しない場合は、デフォルトでtrueに設定されます。

coherence-reaperdaemon-cluster-coordinated

trueに設定した場合は、指定したリープ・サイクル中に1台のサーバーのみでリープを実行し、クラスタで管理しているすべてのセッションをそのサーバーで確認するようにクラスタ内のリープが調整されます。セッション・リーパーの詳細は、「期限切れHTTPセッションのクリーンアップ」を参照してください。

スティッキー最適化(coherence-sticky-sessions)も有効化されている場合は、このオプションを使用しないでください。詳細は、「セッション・リーパーについて」を参照してください。

値を指定しない場合は、デフォルトでfalseに設定されます。

coherence-reaperdaemon-cycle-seconds

リープ処理の間でデーモンが待機する秒数。セッション・タイムアウトが長い本番クラスタの場合は大きい値に設定できます。特にセッション・タイムアウトが短いテストの場合は小さい値に設定します。設定値が小さすぎると、ネットワーク・トラフィックの増加や処理に費やすサイクルの増加が発生します。小さい設定値が効果的なのは、期限切れのセッションをアプリケーションで迅速に無効にする必要がある場合のみです。セッション・リーパーの詳細は、「期限切れHTTPセッションのクリーンアップ」を参照してください。

値を指定しない場合は、デフォルトで300に設定されます。

coherence-reaperdaemon-parallel

trueに設定した場合、セッション・リーパーは期限切れセッションをパラレルに無効化します。falseに設定した場合、期限切れセッションはシリアルに無効化されます。「セッション・リーパーについて」を参照してください。

デフォルトはtrueです。

coherence-reaperdaemon-priority

セッションのリーパー・デーモンの優先度。詳細は、「期限切れHTTPセッションのクリーンアップ」およびjava.lang.Threadクラスのソースを参照してください。

値を指定しない場合は、デフォルトで5に設定されます。

coherence-reaperdaemon-sweep-modulo

Coherenceリリース3.5以降、このパラメータは非推奨です。

coherence-scopecontroller-class

この値は、使用するオプションのcom.tangosol.coherence.servlet.HttpSessionCollection$AttributeScopeControllerインタフェース実装のクラス名を指定します。

詳細は、「セッション属性スコープ設定」を参照してください。

使用可能な値は次のとおりです。

  • com.tangosol.coherence.servlet.AbstractHttpSessionCollection$SimpleScopeController

  • com.tangosol.coherence.servlet.AbstractHttpSessionCollection$ApplicationScopeController

  • com.tangosol.coherence.servlet.AbstractHttpSessionCollection$GlobalScopeController

coherence-servletcontext-clustered(注意1参照)

ServletContextの属性をクラスタ化するかどうかを指定するtrueまたはfalsetrueの場合は、シリアライズ可能なすべてのServletContext属性値がすべてのクラスタ・ノード間で共有されます。

値を指定しない場合は、デフォルトでfalseに設定されます。この主な理由は、ServletContext属性はJVMに対してローカルであり、クラスタ化しないことがサーブレット仕様で規定されているためです。

coherence-servletcontext-cachename(注意1参照)

サーブレット・コンテキストをクラスタ化している場合にサーブレットのコンテキスト・データを保持するために使用するCoherenceキャッシュの名前。

値を指定しない場合は、デフォルトでservletcontext-storageに設定されます。このパラメータの詳細は、付録C「セッション・キャッシュ構成ファイル」を参照してください。

coherence-session-app-locking

この値をtrueに設定した場合は、別々のアプリケーションにある2つのスレッドで1つの同じセッションに対するリクエストを同時に処理することはできなくなります。trueに設定した場合、アプリケーション・ロックは暗黙的にメンバー・ロックになるので、coherence-session-member-lockingパラメータの値が無視されます。値をfalseに設定すると、スレッド・ロックとの互換性がなくなります。

値を指定しない場合は、デフォルトでfalseに設定されます。

coherence-session-member-lockingcoherence-session-lockingおよびcoherence-session-thread-lockingのパラメータの説明および「セッション・ロック・モード」も参照してください。

coherence-session-cachename

この名前は、セッションを保存するクラスタ・キャッシュの名前をオーバーライドします。

値を指定しない場合は、デフォルトでsession-storageに設定されます。このパラメータの詳細は、付録C「セッション・キャッシュ構成ファイル」を参照してください。

coherence-session-cookie-domain(注意1参照)

RFC 2109で定義されているセッションCookieのドメイン。デフォルトでは、セッション管理実装によって明示的に設定されているドメインはありません。詳細は、「セッションとセッション属性のスコープ設定」を参照してください。

coherence-session-cookie-name(注意1参照)

セッションCookieの名前。

値を指定しない場合は、デフォルトでJSESSIONIDに設定されます。

coherence-session-cookie-path(注意1参照)

RFC 2109で定義されているセッションCookieのパス。デフォルトでは、セッション管理実装によって明示的に設定されているパスはありません。詳細は、「セッションとセッション属性のスコープ設定」を参照してください。

coherence-session-cookie-max-age(注意1参照)

RFC 2109で定義されているセッションCookieの最長有効期間(秒)。-1を指定すると、クライアント上ではCookieが維持されません。正の値を指定すると、最長でその秒数、Cookieがクライアント上で維持されます。0は指定できません。

値を指定しない場合は、デフォルトで-1に設定されます。

coherence-session-cookie-secure

trueに設定すると、SSL接続を介したWebクライアントからのみセッションCookieが送信されます。値を指定しない場合は、デフォルトでfalseに設定されます。

coherence-session-cookies-enabled(注意1参照)

値を指定しない場合は、デフォルトでtrueに設定され、セッションのCookieが有効になります。

coherence-session-deathcert-cachename

この名前は、「最近期限切れになった」セッションのIDを保存するクラスタ・キャッシュの名前をオーバーライドします。

値を指定しない場合は、デフォルトでsession-death-certificatesに設定されます。このパラメータの詳細は、付録C「セッション・キャッシュ構成ファイル」を参照してください。

coherence-session-expire-seconds

この値は、セッションの有効期限をオーバーライドします。単位は秒です。-1に設定した場合は、セッションが無期限になります。

値を指定しない場合は、デフォルトで1880に設定されます。

詳細は、「期限切れHTTPセッションのクリーンアップ」を参照してください。

coherence-session-id-length(注意1参照)

生成されるセッションIDの文字数です。推奨の絶対最小長は8です。

値を指定しない場合は、デフォルトで12に設定されます。

coherence-session-lazy-access

セッションの遅延取得を有効化します。セッションは、サーブレットまたはフィルタがアクセスを試みたときにのみ取得されます。これは、設定済アプリケーションにのみ関係します。SPIを使用する場合は関係ありません。「遅延取得によるセッションへのアクセス」を参照してください。

値を指定しない場合は、デフォルトでfalseに設定されます。

coherence-session-locking

falseの場合、セッションに対して最後の更新が優先される同時変更が可能です。coherence-session-app-lockingcoherence-session-member-lockingまたはcoherence-session-thread-lockingtrueに設定した場合は、この値は無視されます(論理的にtrueとされます)。「最後の書込みを優先するロック」を参照してください。

値を指定しない場合は、デフォルトでfalseに設定されます。

coherence-session-app-lockingcoherence-session-member-lockingおよびcoherence-session-thread-lockingも参照してください。

coherence-session-log-threads-holding-lock

trueの場合、メンバーがセッションに対してクラスタ・ロックを取得できないときに、診断起動サービスが実行されます。この起動サービスによって、セッションの所有権を持つメンバーが、ロックを現在保持しているスレッドのスタック・トレースを記録します。

値を指定しない場合は、デフォルトでtrueに設定されます。

詳細は、「HTTPセッションでのロックのトラブルシューティング」を参照してください。

coherence-session-management-cachename

この名前は、セッション管理実装の管理情報と構成情報を保存するクラスタ・キャッシュの名前をオーバーライドします。通常は、レプリケーション・キャッシュとして構成する必要があります。

値を指定しない場合は、デフォルトでsession-managementに設定されます。このパラメータの詳細は、付録C「セッション・キャッシュ構成ファイル」を参照してください。

coherence-session-member-locking

この値をtrueに設定した場合は、別々のJVMにある2つのスレッドで1つの同じセッションに対するリクエストを同時に処理することはできなくなります。「オプティミスティック・ロック」を参照してください。

値を指定しない場合は、デフォルトでfalseに設定されます。

coherence-session-thread-lockingcoherence-session-lockingおよびcoherence-session-app-lockingも参照してください。

coherence-session-overflow-cachename

所定のサイズより大きいことから、シリアライズしたセッション・オブジェクト自体の一部としてではなく、個別のキャッシュ・エントリとしたほうが効率的に管理できると判断される「大型の属性」を保存するクラスタ・キャッシュの名前を、スプリット・モデルの場合にこの値がオーバーライドします。

値を指定しない場合は、デフォルトでsession-overflowに設定されます。このパラメータの詳細は、付録C「セッション・キャッシュ構成ファイル」を参照してください。

coherence-session-strict-spec

この値をfalseに設定した場合、実装はサーブレット仕様に従う必要がなくなります。実装では、特定の種類の例外が無視され、アプリケーションは終了しません。属性の設定、取得および削除、またはセッションの無効化によって、セッション・リスナーへのコールバックは生成されません。コール元のアプリケーションにクラスが存在しないために属性をデシリアライズできない場合、ClassNotFound例外がコール元に伝播されません。

この値をtrueに設定した場合、実装はサーブレット仕様に厳密に準拠します。ClassNotFound例外はアプリケーションによって処理される必要があり、属性値の取得に失敗した場合でもセッション・リスナー・イベントが送信されます。

値を指定しない場合は、デフォルトでtrueに設定されます。

coherence-session-thread-locking

この値をtrueに設定した場合は、同じJVMにある2つのスレッドで1つの同じセッションに対するリクエストを同時に処理することはできなくなります。trueに設定した場合、スレッド・ロックは暗黙的にメンバー・ロックになるので、coherence-session-member-lockingパラメータの値が無視されます。

値を指定しない場合は、デフォルトでtrueに設定されます。

coherence-session-app-lockingcoherence-session-lockingおよびcoherence-session-member-lockingのパラメータの説明および「セッション・ロック・モード」も参照してください。

coherence-session-urldecode-bycontainer(注意1参照)

trueに設定した場合は、コンテナのURLセッションIDのデコードが使用されます。coherence-session-urlencode-nameがオーバーライドされている場合は、この値をfalseに設定する必要があります。コンテナによっては、この値をfalseに設定しても機能しない場合があります。

値を指定しない場合は、デフォルトでtrueに設定されます。

coherence-session-urlencode-bycontainer(注意1参照)

trueに設定した場合は、コンテナのURLセッションIDのエンコードが使用されます。この値をtrueに設定すると、事前に指定したcoherence-session-urlencode-nameの設定と矛盾する場合があります。

値を指定しない場合は、デフォルトでfalseに設定されます。

coherence-session-urlencode-enabled(注意1参照)

trueに設定した場合は、セッションIDのURLエンコーディングが有効になります。

値を指定しない場合は、デフォルトでtrueに設定されます。

coherence-session-urlencode-name(注意1参照)

URLにエンコードしたセッションIDに使用するパラメータ名。コンテナによっては、この値をオーバーライドできない場合があります。

値を指定しない場合は、デフォルトでjsessionidに設定されます。

coherence-session-weblogic-compatibility-mode

trueに設定した場合、各Webアプリケーションで単一セッションID(Cookieのパスを「/」に設定)は、固有のCoherence*Webセッション・インスタンスにマップされます。falseの場合、標準の動作が適用されます。つまり、WebLogicのCoherence*Web SPIを使用して単一セッションIDが単一セッション・インスタンスにマップされます。WebLogicにおけるその他のすべてのセッション持続メカニズムでは、各web-appで単一のセッションIDを使用して、様々なセッション・インスタンスを参照します。

値を指定しない場合は、デフォルトでtrueに設定されます。例外は、アプリケーションがグローバル・スコープ・コントローラを使用するように構成されている場合です。その場合は、デフォルトでfalseに設定されます。

セッションCookieパスのスコープ設定」を参照してください。

coherence-sessioncollection-class

使用するHttpSessionCollection実装の完全修飾クラス名。使用可能な値は次のとおりです。

  • com.tangosol.coherence.servlet.MonolithicHttpSessionCollection

  • com.tangosol.coherence.servlet.SplitHttpSessionCollection(デフォルト)

  • com.tangosol.coherence.servlet.TraditionalHttpSessionCollection

このパラメータは、値の指定が必須です。

coherence-shutdown-delay-seconds

アプリケーションが停止したという最後の通知をServletContextListenerイベント(サーブレット2.3以降)またはServletオブジェクトとFilterオブジェクトの破棄によって受けてからシャットダウンするまでにセッション管理実装が待機する時間が、この値で決まります。この値は秒単位で表します。0を指定すると同期シャットダウンになり、正の値を指定すると非同期シャットダウンになります。

値を指定しない場合は、デフォルトで0に設定されます。これは、非同期シャットダウン機能のないサーバーが存在するためです。

coherence-sticky-sessions

この値をtrueに設定した場合は、スティッキー・セッション最適化が使用されます。この設定は、スティッキー・ロード・バランサを使用している場合にのみ有効にする必要があります。この機能には、メンバー、アプリケーションまたはスレッドのロックが有効になっている必要があります。「スティッキー・セッション最適化の有効化」を参照してください。

coherence-session-thread-lockingcoherence-session-member-lockingおよびcoherence-session-app-lockingも参照してください。

値を指定しない場合は、デフォルトでfalseに設定されます。

coherence-web-sessions-enabled

WebLogic PortalアプリケーションでCoherence*Webセッションを有効にします。詳細は、「Coherence*Webセッションの有効化」を参照してください。


注意:

  1. WebLogic SPI実装でこのパラメータを使用した場合は、Coherence*Webの動作を制御できません。