セッション管理のカスタム・プロパティー

カスタム・プロパティーを設定することによって、 セッション管理のための追加の設定を指定できます。

セッション管理構成などのセッション管理プロパティーは、サーバー、アプリケーション、 または Web モジュール・レベルで構成することができます。以下の手順では、 サーバー・レベルでセッション管理のカスタム・プロパティーを設定しています。
  1. 管理コンソールで、「サーバー」 > 「サーバー・タイプ」 > 「WebSphere Application Server」 > server_name > 「セッション管理」とクリックします。
  2. 「追加プロパティー」の下の「カスタム・プロパティー」を選択します。
  3. 「カスタム・プロパティー」ページで、「新規」をクリックします。
  4. 設定ページで、構成するプロパティーを「名前」フィールドに入力し、設定する値を「値」フィールドに入力します。
  5. 適用」または「OK」をクリックします。
  6. コンソール・タスクバーの「保存」をクリックして、構成の変更を保存します。
  7. サーバーを再始動します。

AlwaysEncodeURL

Servlet 2.5 仕様では、response.encodeURL に URL をエンコードする必要がない場合は、エンコードしないように指定しています。 URL エンコードが有効であるときに旧バージョンとの互換性をサポートするには、AlwaysEncodeURL カスタム・プロパティーを true に設定して encodeURL メソッドが呼び出されるようにします。 ブラウザーで Cookie をサポートする場合でも、URL は常にエンコードされます。プロパティーは、Web コンテナー・レベルで構成される必要があります。

CheckSessionCookieNameOnEncodeURL

このプロパティーは、セッション ID を URL 内でエンコードする必要があるかどうかを判断する際に、HTTP セッション Cookie の存在を確認するために使用します。このプロパティーは、Web コンテナー・レベルで構成される必要があります。

このプロパティーのデフォルト設定は false です。 このプロパティーを true に設定すると、 セッション ID を URL 内でエンコードする必要があるかどうかを判断する際に、セッション・マネージャーが HTTP セッション Cookie の存在を確認できるようになります。

checkSessionNewOnIsValidRequest

このプロパティーを使用して、HttpSessionIdReuse が有効になっている場合にサーバーが複数の同時クライアント要求を処理できるかどうかを指定します。このプロパティーは、Web コンテナー・レベルで構成される必要があります。

デフォルトでは、HttpSessionIdReuse プロパティーも有効になっている場合は、セッション・マネージャーはクライアント要求を 1 つずつ処理します。HttpSessionIdReuse が有効になっている場合に、セッション・マネージャーが同一クライアントからの複数の同時要求を処理できるようにするには、checkSessionNewOnIsValidRequest を false に設定します。HttpSessionIdReuse が有効になっていない場合は、このプロパティーは何の影響ももたらしません。

構成の変更を反映させるには、サーバーを再始動する必要があります。

このプロパティーのデフォルト値は、true です。

CloneSeparator

このプロパティーを使用して、セッション Cookie 内のクローンの分離文字として異なる文字を指定します。このカスタム・プロパティーに指定する値は、単一文字とする必要があります。

このプロパティーは、バージョン 6.1 では Web コンテナーのカスタム・プロパティーとして設定されていましたが、 現在は、Web コンテナー・レベルでセッション管理のカスタム・プロパティーとして設定する必要があります。

ベスト・プラクティス ベスト・プラクティス: このプロパティーは、セッション Cookie 内のクローンの分離文字としてコロン (:) も正符号 (+) も使用できないような状態になっている場合に、柔軟性を提供する手段としてのみ使用してください。このプロパティーを使用してクローンの分離文字を変更する前に、システムで稼働中のその他の製品のクローン文字要件を理解する必要があります。

このカスタム・プロパティーの値としてどんな文字でも指定できるという事実は、指定した文字が正しく機能するという意味ではありません。代替文字を使用した場合に生じる問題の修正に対して IBM が責任を負うということも意味していません。

bprac

CloneSeparatorChange

このプロパティーを使用して、セッションのアフィニティーを維持します。 サーバーのクローン ID は、コロンで区切られてセッション ID に付加されます。 一部の Wireless Application Protocol (WAP) デバイスでは、コロンが使用できません。 このプロパティーを true に設定すると、クローンの分離文字が正符号 (+) に変更されます。このプロパティーは、Web コンテナー・レベルで構成される必要があります。

DebugSessionCrossover

DebugSessionCrossover カスタム・プロパティーにより、コードで追加検査を実行して、要求に関連付けられているセッションのみがアクセスまたは参照されているかを確認することができるようになります。 矛盾が検出されると、メッセージがログに記録されます。

このプロパティーを true に設定して、セッション・データ交差検出を使用可能にします。

詳しくは、HTTP セッションの問題の項目を参照してください。

DelayAfterDuplicateIdException

DelayAfterDuplicateIdException カスタム・プロパティーは、 SESN0196W エラーが発生した後、セッション・マネージャーがどれだけ待機してから、 バックエンド・サーバーからのセッションの取得を試行するのかをミリ秒単位 で指定します。このプロパティーは、Web コンテナー・レベルで構成される必要があります。

このプロパティーのデフォルト値は 500 です。

DelayInvalidationAlarmDuringServerStartup

このプロパティーを使用して、サーバー始動直後の無効化アラームの開始を指定の秒数だけ遅らせます。

このプロパティーのデフォルト値は 0 です。

ForceSessionInvalidationMultiple

ForceSessionInvalidationMultiple カスタム・プロパティーは、 セッション・マネージャーがセッションの無効化を試みる前に要求の完了を無限に待機するか、 または指定の時間制限が経過した後で無効化を試みるかを指示します。このプロパティーのデフォルト値は、3 です。

  • このカスタム・プロパティーに 0 (ゼロ) を指定すると、セッション・マネージャーは、セッションの無効化を試行する前に、要求が完了するまで無期限で待機します。

    通常、要求が 応答時間の制限に左右されない場合は、このプロパティーに 0 を指定します。

  • このカスタム・プロパティーに正の整数 (1、2、または 3 など) を指定した場合、 セッションが完了したかどうか不明であっても、 前回のアクセス時から指定の時間が経過すると、セッション・マネージャーはセッションの無効化を試みます。 この期間は、このプロパティーに指定された値と、セッション・タイムアウト・プロパティーに指定された値を乗算した結果です。例えば、セッション・タイムアウト・プロパティーに 2 分を指定し、ForceSessionInvalidationMultiple プロパティーに 2 を指定した場合、セッション・マネージャーは 4 分後にセッションの無効化を試みます。

    特定の時間が経過した後でセッションを無効化するには、このプロパティーに適切な正の整数を指定します。

HideSessionValues

HideSessionValues カスタム・プロパティーは、セッション・マネージャー・トレースでのセッション属性値のロギングを抑止します。 このプロパティーは、Web コンテナー・レベルで構成される必要があります。

アプリケーションはこれらのセッション属性値を保管します。 デフォルト値は true です。

HttpSessionCloneId

このプロパティーを使用して、クラスター・メンバーのクローン ID を変更します。 クラスター内では、セッションのアフィニティーを維持するために、この ID は固有でなければなりません。 このプロパティーを設定すると、WebSphere Application Server で生成されたデフォルト名はこの名前で上書きされます。 このプロパティーは、Web コンテナー・レベルで構成される必要があります。

[AIX Solaris HP-UX Linux Windows]デフォルトのクローン ID の長さ: 8 または 9 文字

[IBM i][z/OS]デフォルトのクローン ID の長さ: 40 文字

[z/OS]

HttpSessionEnableUnmanagedServerReplication

セッション・データをコントローラー管理データ・スペースに複製することによってサーバント・フェイルオーバーを使用可能にしたい場合は、このカスタム・プロパティーを true に設定します。 デフォルト値は false です。

HttpSessionIdLength

このプロパティーを使用して、セッション ID の長さを構成します。 極端に小さい値は使用しないでください。小さい値を使用すると、可能な組み合わせの数が少なくなるので、セッション ID を推測されるリスクが大きくなります。 クラスターでは、すべてのクラスター・メンバーの ID の長さを同じにして構成する必要があります。 許容範囲: 8 から 128 文字。デフォルトの長さ: 23 文字このプロパティーは、Web コンテナー・レベルで構成される必要があります。

HttpSessionIdReuse

カスタム・プロパティー HttpSessionIdReuse により、ブラウザーから送信されるセッション ID をセッション・マネージャーが使用して、セッション・パーシスタンス用に構成されていない環境で稼働中の Web アプリケーション全体のセッション・データを保存するかどうかが決まります。このプロパティーは、Web コンテナー・レベルで構成される必要があります。

セッション・パーシスタンス用に構成されていない マルチ JVM 環境で、 このプロパティーを true に設定すると、 ユーザーのすべての要求を処理する Web アプリケーションが 別の JVM によって管理されている場合でも、 セッション・マネージャーは、 それらの要求に対して 同じセッション情報を使用することができます。 このプロパティーのデフォルト値は false です。 ブラウザーから送信されたセッション ID をセッション・マネージャーが使用できるようにして、セッション・パーシスタンス用に構成されていない環境で稼働中の Web アプリケーション全体のセッション・データを保持したい場合は、このプロパティーを true に設定します。

[z/OS]複数のサーバントを含む z/OS システムでは、ごくまれにですが、2 つの要求がほぼ同時に入ってきて、それらが 2 つの別々のサーバントに経路指定されることがあります。 しかし、この場合は、2 つの要求がほぼ同時に入ってくるため、両方とも同じセッション ID の新しいセッションを要求します。 この状況が起こったときに HttpSessionIdReuse プロパティーが true に設定されていると、いずれか一方のサーバントのログにエラー・メッセージが記録され、エラー・メッセージが記録された方のサーバントはセッションを獲得しません。
ExtendedMessage: BBOO0220E: SessionContext:createSession - call to
establishAffinity for id id_number failed with rc 4

HttpSessionReaperPollInterval

このプロパティーを使用して、無効なセッションを除去するプロセスのウェイクアップ間隔を秒単位で指定します。 このプロパティーで指定された値は、デフォルトのインストール値 (30 から 360 秒) をオーバーライドし、リーパー・プロセスが一定間隔で実行されるようにします。

非アクティブ状態の最大間隔が 2 分未満の場合、リーパー・ポーリング間隔は、通常は 30 秒から 60 秒の間になります。

非アクティブ状態の最大間隔が 2 分を超え、最大 15 分までの場合、リーパー・ポーリング間隔は、通常は 60 秒から 90 秒の間になります。

非アクティブ状態の最大間隔が 15 分を超え、最大 30 分までの場合、リーパー・ポーリング間隔は、通常は 120 秒から 180 秒の間になります。

非アクティブ状態の最大間隔が 30 分を超えた場合、リーパー・ポーリング間隔は、通常は 240 秒から 300 秒の間になります。

デフォルトのタイムアウトおよび非アクティブ状態の最大間隔が 30 分であるため、リーパー間隔は、通常、2 分から 3 分の間になります。

例えば、このプロパティーを使用すれば、インストール時のタイムアウト・セッションを 2 から 3 分より短い間隔で無効化するように設定することができます。 HttpSessionReaperPollInterval=120 を指定すると、セッションがタイムアウトの 2 分以内に無効化されます。

このプロパティーの最小値は 30 秒です。最小値より低い値を入力すると、指定したプロパティーが無視され、該当する値が自動的に判別され使用されます。非アクティブ状態の最大間隔は、セッション・タイムアウトです。デフォルトは、セッション管理で設定した非アクティブ状態の最大間隔によって決まります。

InvalidateOnUnauthorizedSessionRequestException

無許可要求に応じて、セッション・マネージャーが UnauthorizedSessionRequestException エラー・メッセージを発行する代わりにセッションを無効化するようにするには、このプロパティーを true に設定します。

セッションが無効化されると、要求側は新しいセッションを作成できますが、それまでに保存されたセッション・データのいずれにもアクセスできません。この無効化により、単一のユーザーが、セッション・データを引き続き保護する一方で、ログアウト後も要求の処理を続行できるようになります。

このプロパティーのデフォルト値は false です。

NoAdditionalSessionInfo

このプロパティーを true に設定すると、セッション ID 内の不要な情報が強制除去されます。 このプロパティーは、Web コンテナー・レベルで構成される必要があります。

NoAffinitySwitchBack

新規メンバーに対するアフィニティーを元のメンバーの復旧後にも維持するには、このプロパティーを true に設定します。 クラスター・メンバーに障害が起こった場合、その要求は別のクラスター・メンバーに経路指定され、セッションはその別のメンバー内で活動化されます。 したがって、セッションのアフィニティーは新規メンバーに対しても維持され、障害が起こったクラスター・メンバーが復旧すると、その元のクラスター・メンバーで作成されたセッションに対する要求は、再びそのメンバーに経路指定されます。 許可された値は true または false で、デフォルトは false です。このプロパティーは、Web コンテナー・レベルで構成される必要があります。

分散セッションを時間ベースの書き込みで構成している場合、このプロパティーを true に設定します。メモリー間セッション複製を使用している場合は、アフィニティー切り替えを使用するようにカスタム・プロパティー HttpSessionCloneId を設定します。分散セッションが使用可能でない場合、このプロパティーは振る舞いに影響を与えないことに注意してください。

OptimizeCacheIdIncrements

OptimizeCacheIdIncrements カスタム・プロパティーを true に設定すると、セッション・マネージャーは Web モジュールのメモリー内セッションがパーシスタント・ストア内のコピーよりも古いかどうかを調べます。 このプロパティーを設定することにより、連続的に増加するキャッシュ ID を解決できます。

HTTP セッション管理がセッション・パーシスタンスを使用するように構成されていて、かつユーザーのブラウザー・セッションが複数の Web アプリケーション間を行き来している場合は、Web モジュールのメモリー内セッションがパーシスタント・ストアから更新されるとき、追加のパーシスタント・ストア・アクティビティーが認められることがあります。その結果として、キャッシュ ID が連続的に増加して、メモリー内セッションの属性がパーシスタント・コピーの属性によって上書きされます。キャッシュ ID が連続的に増加しないようにしたい場合は、このプロパティーを true に設定します。

クラスター構成の場合は、各クラスター・メンバーのシステム時間が可能な限り同じになるようにしてください。

SecurityUserIgnoreCase

大/小文字の相違にかかわらずセッション・セキュリティー ID とクライアント・セキュリティー ID が一致すると見なされるようにしたい場合は、このプロパティーを true に設定します。

ユーザーがセッション・セキュリティー統合を構成すると、セッション・マネージャーはセッション所有者のセキュリティー ID とクライアント要求のセキュリティー ID を比較します。 マッチング基準が大/小文字の区別をするため、この 2 つの ID が完全に一致しなかった場合は、UnauthorizedSessionRequestException がクライアントに送り返されます。

大/小文字の相違にかかわらずセッション・セキュリティー ID とクライアント・セキュリティー ID が一致すると見なされるようにしたい場合は、SecurityUserIgnoreCase カスタム・プロパティーを Web コンテナー構成設定に追加し、このプロパティーを true に設定します。 このプロパティーが true に設定されていると、大/小文字の区別を無視したときにセッション・セキュリティー ID とクライアント・セキュリティー ID が一致するならば、UnauthorizedSessionRequestException は発生しません。 例えば、このプロパティーが true に設定されているときは、セッション・セキュリティー ID「USER1」はクライアント・セキュリティー ID「User1」および「user1」と一致します。

Servlet21SessionCompatibility

このカスタム・プロパティーを true に設定して、グローバル・セッションの振る舞いを使用可能にします。サーブレット 2.2 以降では、セッションは Web モジュール・レベルで行われます。デフォルトは false です。

非推奨の機能 (Deprecated feature) 非推奨の機能 (Deprecated feature): このプロパティーは推奨されません。IBMApplicationSession メソッドが、Servlet21SessionCompatibility カスタム・プロパティーの機能を置き換えます。depfeat

SessionIdentifierMaxLength

この値を使用して、セッション ID の最大長を設定します。 このプロパティーは、Web コンテナー・レベルで構成される必要があります。

クラスターでは、 要求が新規クラスター・メンバーに対して出されたときの フェイルオーバーが原因で、 セッション管理によって 新規クローン ID が既存のクローン ID に付加されます。 大規模クラスターでは、何らかの理由でサーバーが頻繁にダウンすると、セッション ID が長くなり、URL の余地が予想以上に少なくなる可能性があります。このプロパティーを設定することによって、 状況を判断して、適切な処置を講じ、 サーバーのフェイルオーバーに対処することができます。 このプロパティーを指定すると、指定した最大長に達したときにメッセージがログに記録されます。 許容値: 整数

SessionInvalidatorThreadPoolSize

タイムアウトになった後の無効セッションを取得するスレッド用のスレッド・プールの最大サイズを定義します。それらのスレッドは、セッションが分散されているかどうかを他のサーバーに通知し、それらのセッションへのローカル参照をクリーンアップする責任があります。タイムアウト間隔が短いためにセッションがタイムアウトになる頻度が高くなっている場合、およびトラフィック量が多いためにセッション数が増加している場合は、これらのスレッド数を増やす必要があります。

デフォルト値は 50 です。最小値は 20、最大値は 100 です。

SessionRewriteIdentifier

このプロパティーを使用して、URL の再書き込みで使用するキーを変更します。 デフォルト・キーは jsessionid です。

SessionTableName

このカスタム・プロパティーを使用して、データベース表の名前を設定します。許容値: ストリング。デフォルト値は SESSIONS です。

一部のアプリケーションでは、メソッド ejbCreate(...) を使用して、データベース内でエンティティー Bean を作成している場合があります。 このような要件に対して、JVM プロパティー com.ibm.websphere.ejbcontainer.allowEarlyInsert の true への設定が、デフォルトの動作をオーバーライドします。

SessionTableSkipIndexCreation

このプロパティーを使用して、サーバー始動時の索引作成を使用不可にします。

このカスタム・プロパティーは、セッション・パーシスタンスのため独自のデータベース索引を 手動で作成したい場合にのみ使用してください。しかし、 セッション・マネージャーによってデータベース索引を作成することをお勧めします。

このプロパティーを使用可能にするには、管理コンソールでセッション管理カスタム・プロパティーのページに 進み、SessionTableSkipIndexCreation プロパティー名を入力し、 その値を true に設定します。このプロパティーを使用可能にする前に、 セッション・データベースに正しい索引が存在することを確認してください。

ThrowSecurityExceptionOnGetSessionFalse

セッション管理が UnauthorizedSessionrequestException の代わりに、ヌルのセッション値を戻せるようにするには、このカスタム・プロパティーを false に設定します。 デフォルト値は true です。

UseInvalidatedId

このカスタム・プロパティーを true に設定すると、着信 ID のあるセッションが既に無効になっている場合、その着信 ID を再使用します。この操作を行うと、パーシスタント・ストアがチェックされないため、パフォーマンスの最適化が図れます。デフォルト値は true です。

UseOracleBLOB

UseOracleBLOB カスタム・プロパティーは、中間列のバイナリー・ラージ・オブジェクト (BLOB) データ型を使用して、 HTTP セッション・データベース・テーブルを作成します。このプロパティーは、Oracle データベースが 使用されている場合に、パーシスタント・セッションのパフォーマンスを向上させます。Oracle の制限により、 4000 バイトを超えるデータの場合、BLOB サポートには Oracle Call Interface (OCI) データベース・ドライバーを使用する必要があります。また、古いセッション・テーブルを除去するか、セッション・テーブルが含まれない データベースを参照するようにデータ・ソース定義を変更するかして、 サーバーを再始動する前に新規セッション・テーブルが確実に作成されるようにする必要もあります。

BLOB データ型を使用してセッション・テーブルを作成するには、 以下の名前と値のペアを使用します。
名前
UseOracleBLOB true

UsingApplicationSessionsAndInvalidateAll

invalidateAllSet メソッドが呼び出される際、すべての IBMApplicationSessions オブジェクトがチェックされるわけではありません。IBMApplicationSessions オブジェクトと invalidateAll 呼び出しをともに使用する場合は、次の名前と値のペアを使用してください。

名前
UsingApplicationSessionsAndInvalidateAll true

UsingCustomSchemaName

このプロパティーを使用して、セッション・マネージャーが 後続のサーバー始動時にセッション・テーブルを確実に検出できるようにします。

セッション・パーシスタンスのために DB2 を使用していて、DB2 JDBC ドライバーにおいて customSchema プロパティーがデフォルト値に設定されていない場合、 このカスタム・プロパティーを true に設定してください。

デフォルト値は false です。


トピックのタイプを示すアイコン 参照トピック



タイム・スタンプ・アイコン 最終更新: last_date
http://www14.software.ibm.com/webapp/wsbroker/redirect?version=cord&product=was-nd-mp&topic=rprs_custom_properties
ファイル名:rprs_custom_properties.html