この節では、Web コンテナの HTTP セッション設定について説明します。HTTP セッションは、持続ストアに書き込まれた状態データを持つ独自の Web セッションです。
管理コンソール を使用して、HTTP セッションのタイムアウト値を設定します。セッションタイムアウト値は、HTTP セッションが有効である時間を表します。
管理コンソール で、「設定」>「Web コンテナ」>「セッションプロパティー」の順にクリックします。「セッションタイムアウト」フィールドで、セッションが有効である秒数を入力します。
セッションタイムアウト値の設定方法の詳細については、管理コンソール で「ヘルプ」をクリックしてください。
セッションマネージャーを使用して、セッションを作成および破棄する方法、セッション状態を格納する場所、およびセッションの最大数を設定できます。
管理コンソール でセッションマネージャーの設定を変更するには、「設定」>「Web コンテナ」>「マネージャープロパティー」の順にクリックします。
設定するインスタンスを選択します。
特定のインスタンスを設定するには、そのインスタンスの設定ノードを選択します。たとえば、デフォルトインスタンス server の場合は、server-config ノードを選択します。
すべてのインスタンスのデフォルト値を設定するには、default-config ノードを選択します。
「マネージャープロパティー」タブで、次のプロパティーを設定します。
リープ間隔の値。「リープ間隔」フィールドで、非アクティブなセッションデータがストアから削除されるまでの秒数を指定します。
最大セッション数の値。「最大セッション数」フィールドで、許容されるセッションの最大数を指定します。
セッションファイル名の値を設定します。「セッションファイル名」フィールドで、セッションデータを格納するファイルを指定します。
「セッション ID ジェネレータクラス名」フィールドで、一意のセッション ID を生成するカスタムクラスを指定できます。サーバーインスタンスごとに 1 つのセッション ID ジェネレータクラスだけを作成できます。クラスタ内のすべてのインスタンスは、セッションキーの競合を防止するために、同じセッション ID ジェネレータを使用する必要があります。
カスタムセッション ID ジェネレータクラスは、次のとおり com.sun.enterprise.util.uuid.UuidGenerator インタフェースを実装する必要があります。
package com.sun.enterprise.util.uuid; public interface UuidGenerator { public String generateUuid(); public String generateUuid(Object obj); //obj はセッションオブジェクト }
このクラスは Application Server のクラスパスになければいけません。
マネージャープロパティーの設定方法の詳細については、管理コンソール で「ヘルプ」をクリックしてください。
セッションストアデータの保存先を指定するには、管理コンソール で、「設定」>「Web コンテナ」>「ストアプロパティー」の順にクリックします。
設定するインスタンスを選択します。
特定のインスタンスを設定するには、そのインスタンスの設定ノードを選択します。たとえば、デフォルトインスタンス server の場合は、server-config ノードを選択します。
すべてのインスタンスのデフォルト値を設定するには、default-config ノードを選択します。
セッションストアプロパティーの設定方法の詳細については、管理コンソール で「ヘルプ」をクリックしてください。