この項目では、Hypertext Transfer Protocol (HTTP) セッションの作成または使用に関するトラブルシューティング情報を提供しています。
ここで説明するセッション・マネージャーの設定を表示および更新するには、管理コンソールを使用します。 問題のアプリケーションがホスティングされているアプリケーション・サーバーを選択し、「追加プロパティー」の下の「Web コンテナー」を選択して、次に「セッション・マネージャー」を選択します。
セッション・マネージャーの構成方法、およびそれを使用するためのベスト・プラクティスについて、タスクの概要: HTTP セッションの管理 を参照してください。
これらの設定では、管理コンソールで既存のデータ・ソースのプロパティーと照合する必要があることに注意してください。 セッション・マネージャーでは、セッション・データベースが自動的に作成されません。
この振る舞いは、ブラウザーに依存します。 ブラウザーは、ブラウザーのベンダーによって異なり、ブラウザーが新規のプロセスとして起動されるか、または既存のブラウザー・セッションのサブプロセスとして起動されるか (例えば、Windows の場合は Ctl-N を押します) に応じて変化します。
Cookie がセッション・トラッキング・メカニズムとして使用されている場合は、セッション・マネージャーの Cookie の最大経過時間プロパティーもこの振る舞いに影響を与えます。 最大経過時間が正の値に設定されている場合、すべてのブラウザー・インスタンスで Cookies が共用されます。Cookie は、指定された最大経過時間の間、クライアント側のファイルで永続化されます。
SessionManager の無効化プロセスのスレッドは x 秒ごとに実行され、無効なセッションを無効化します。この場合、x は、セッション・マネージャーのプロパティーで指定されたセッション・タイムアウト間隔に基づいて決定されます。 デフォルト値が 30 分の場合は、x はおよそ 300 秒になります。この場合は、特定のセッションが無効化されるまでに、30 分のタイムアウトしきい値を超えてから最大 5 分 (300 秒) かかります。
<% @page session="false" %>
まれに、アプリケーション・エラーが原因で、1 つのクライアント用のセッション・データが別のクライアントにも表示されることがあります。 この状態は、セッション・データ・クロスオーバーと呼ばれます。 DebugSessionCrossover カスタム・プロパティーが true に設定されていると、セッション・データ・クロスオーバーのインスタンスを検出し、記録するのにコードを使用できます。 要求に関連するセッションのみがアクセスされるか、または参照されていることを確認するために検査が実行されます。 矛盾が検出されると、メッセージがログに記録されます。 これらのメッセージを使用して、この問題のデバッグを開始します。 この追加チェックは、ユーザーが作成したスレッドではなく、WebSphere 管理のディスパッチ・スレッドで 実行されている場合にのみ行われます。
このプロパティーの設定方法についての追加情報は、 Web コンテナーのカスタム・プロパティー の項目を参照してください。
WebSphere® Application Server for z/OS® バージョン 6.0.1 を実行して、 EJB 参照を複製するようにセッション・マネージャーを構成した場合は、 セッション・フェイルオーバーにより、サーバー領域ジョブ・ログで、以下の例外の表示がトリガーされる 場合があります。
java.lang.ClassCastException: cannot cast class org.omg.stub.java.rmi._Remote_Stub to interface javax.ejb.EJBObject
WebSphere Application Server の ユーザーがアプリケーションにログオンし、指定された HTTP セッション・タイムアウト値を超えて アイドル状態を続けた場合、ユーザー情報は無効にならず、LTPA トークンがタイムアウトになるまで ユーザー・クレデンシャルはアクティブのままです。
PK25740 の適用後、 以下のステップを実行すると、HTTP セッションが期限切れとなった後に ユーザーをアプリケーションからログアウトさせることができます。