Cosminexus V9 アプリケーションサーバ 機能解説 互換編

[目次][用語][索引][前へ][次へ]

6.5.2 グローバルセッション情報のサイズの見積もり方法

この機能を使用すると,メモリセッションフェイルオーバ機能が有効なWebアプリケーションに対してリクエストを送信するたびに,グローバルセッション情報のサイズを示すメッセージがWebサーブレットログに出力されます。グローバルセッション情報のサイズを出力するメッセージを次の表に示します。

表6-10 グローバルセッション情報のサイズを出力するメッセージ

メッセージID 出力レベル 出力するタイミング 出力する内容
KDJE34260-I Error リクエストごと リクエスト一つ分に対応するグローバルセッション情報のサイズ
KDJE34261-I Error HTTPセッションに登録されるセッション情報ごと キー名称,区切り文字などを含むセッション情報一つ分に対応するデータのサイズ

各メッセージの出力例を次に示します。この例では,キー名称がAttribute1とAttribute2の二つのセッション情報からグローバルセッション情報を作成します。

KDJE34261-I  The session information was serialized. (J2EE application = App01, context root = /test, request URL = http://host01/test/TestServlet, attribute name = Attribute1, class name = app.MyObject1, size(byte) = 36, HTTP session ID = 01234567aaaabbbbccccddddeeeeffffserver1, global session ID = 0123456789abcdef01234567aaaabbbbccccddddeeeeffffserver1)
KDJE34261-I  The session information was serialized. (J2EE application = App01, context root = /test, request URL = http://host01/test/TestServlet, attribute name = Attribute2, class name = app.MyObject2, size(byte) = 25, HTTP session ID = 01234567aaaabbbbccccddddeeeeffffserver1, global session ID = 0123456789abcdef01234567aaaabbbbccccddddeeeeffffserver1)
KDJE34260-I  The global session information was created. (J2EE application = App01, context root = /test, request URL = http://host01/test/TestServlet, size(byte) = 65, HTTP session ID = 01234567aaaabbbbccccddddeeeeffffserver1, global session ID = 0123456789abcdef01234567aaaabbbbccccddddeeeeffffserver1)

注 太字の部分に,グローバルセッション情報のサイズを見積もるための値が出力されます。各メッセージのsize(byte)に出力される内容の詳細については,表6-11を参照してください。また,各メッセージの詳細については,マニュアル「アプリケーションサーバ メッセージ(構築/運用/開発用)」を参照してください。

注※ クラス名に出力される内容は,属性値に対してjava.lang.ClassクラスのgetName()メソッドで得られた文字列です。なお,KDJE34261-Iのメッセージは,引き継ぎの対象であるセッション情報がHTTPセッションにない場合は出力されません。また,KDJE34260-Iのメッセージは,引き継ぎの対象であるセッション情報がHTTPセッションにあるかどうかに関係なく,HTTPセッションがあれば出力されます。


これらのメッセージに出力されるサイズ(size(byte))の値を基に,グローバルセッション情報のサイズを見積もります。見積もった値が,SFOサーバで冗長化できるグローバルセッション情報のサイズのデフォルト値(1,024バイト)を超えている場合は,DD(web.xml)でグローバルセッション情報の最大サイズの設定を変更する必要があります。グローバルセッション情報の最大サイズの設定方法については,「6.12.2(2) グローバルセッション情報の最大サイズ(GSInfosLengthMax)」を参照してください。

なお,KDJE34260-IおよびKDJE34261-Iのメッセージに出力されるサイズの値は,直列化可能クラスのオブジェクトを引き継ぎ対象としているかどうかによって異なります。KDJE34260-IおよびKDJE34261-Iのメッセージに出力されるサイズ(size(byte))の詳細を次の表に示します。

表6-11 KDJE34260-IおよびKDJE34261-Iのメッセージに出力されるサイズ(size(byte))の詳細

メッセージIDの種類 直列化可能クラスのオブジェクトであるセッション情報の引き継ぎ許可(GSInfoTypeSerializableEnable)の設定
true
(直列化可能クラスのオブジェクトが引き継ぎ対象の場合)
false
(直列化可能クラスのオブジェクトが引き継ぎ対象外の場合)
KDJE34260-I 次の値を合計したサイズが出力されます。
  • HTTPセッションの有効期間情報の長さ
  • 各属性のサイズ(KDJE34261-Iのメッセージで出力したサイズ)の合計
次の値を合計したサイズが出力されます。
  • HTTPセッションの有効期間情報の長さ
  • 各属性を連結する区切り文字分のサイズ(各1バイト)
  • 各属性のサイズ(KDJE34261-Iのメッセージで出力したサイズ)の合計
KDJE34261-I 次の値を合計したサイズが出力されます。
  • 属性名をシリアライズしたデータのサイズ
  • 属性値をシリアライズしたデータのサイズ
  • java.io.ObjectOutputStreamクラスが書き込むマジックナンバー,およびバージョン情報のデータ分のサイズ※1
次の値を合計したサイズが出力されます。
  • 属性名のデータのサイズ
  • 属性値のデータのサイズ
  • 属性名と属性値の区切り文字のサイズ(1バイト)
  • byte型配列の管理情報の長さ※2

注※1 HTTPセッションに登録された属性のうち,最初にシリアライズされる属性のサイズにだけ含まれます。

注※2 byte型配列であるセッション情報が引き継ぎ対象の場合にだけ含まれます。