SessionIdGenerator コンポーネント

目次

はじめに

SessionIdGenerator 要素は、WebアプリケーションのHTTPセッションで使用されるセッションIDを生成するために使用されるセッションIDジェネレーターを表します。

SessionIdGenerator 要素は、Manager コンポーネント内にネストすることができます。もし含まれていない場合、デフォルトのSessionIdGenerator設定が自動的に作成され、これはほとんどの要件に対して十分です。— この設定の詳細は、下記の「標準SessionIdGenerator実装」を参照してください。

属性

共通属性

SessionIdGenerator のすべての実装は、以下の属性をサポートしています。

属性説明
className

使用する実装のJavaクラス名です。このクラスはorg.apache.catalina.SessionIdGeneratorインターフェースを実装する必要があります。指定されていない場合、標準値(下記に定義)が使用されます。

jvmRoute

このTomcatインスタンスのルーティング識別子です。ロードバランサーによるステートレスなスティッキネスルーティングを可能にするため、セッションIDに追加されます。jvmRouteがIDにどのように含まれるかの詳細は、実装に依存します。デフォルトの動作については、「標準実装」を参照してください。

- このプロパティの値は、Engine 要素のjvmRoute属性から自動的に継承されます。

sessionIdLength

このSessionIdGeneratorによって作成されるセッションIDの長さです。sessionIdLengthがセッションIDの長さにどのように影響するかの詳細は、実装に依存します。デフォルトの動作については、「標準実装」を参照してください。

標準実装

Tomcatは、使用するためのSessionIdGeneratorの標準実装を提供します。

標準SessionIdGenerator実装

SessionIdGeneratorの標準実装はorg.apache.catalina.util.StandardSessionIdGeneratorです。以下の属性をサポートしています。

属性説明
jvmRoute

このTomcatインスタンスのルーティング識別子です。セッションIDの末尾に"."で区切られて追加されます。

sessionIdLength

このSessionIdGeneratorによって作成されるセッションIDの長さです。より正確には、セッションIDの長さは、sessionIdLengthの値の2倍に、末尾のjvmRouteが与えられている場合はその長さを加えたものです。係数2は、セッションIDがsessionIdLength個のランダムバイトを使用して構築され、各バイトが実際のIDでは2つの16進文字でエンコードされるためです。デフォルト値は16です。