6.9.4 サーブレットAPIへの影響

データベースセッションフェイルオーバ機能を使用した場合のサーブレットAPIへの影響として,次の項目について説明します。

<この項の構成>
(1) 引き継ぎ後のHttpSessionオブジェクトに関連するサーブレットAPIの動作
(2) サーブレットAPIの呼び出しによるデータベースとの通信の発生

(1) 引き継ぎ後のHttpSessionオブジェクトに関連するサーブレットAPIの動作

引き継ぎ後のHttpSessionオブジェクトに関連するサーブレットAPIの注意点について次の表に示します。

表6-42 HttpSessionオブジェクトに関連するサーブレットAPIの注意点

項番API名注意点
1getCreationTime()引き継ぎによって,HttpSessionオブジェクトが作成された場合,引き継ぎ前のHttpSessionオブジェクトの情報が引き継がれます。
2getLastAccessedTime()
3getId()引き継ぎによって,HttpSessionオブジェクトが作成された場合,引き継ぎ前のHttpSessionオブジェクトと同一のIDが取得できます。
4isNew()引き継ぎによって,HttpSessionオブジェクトが作成されても,戻り値「true」は返されません。

この表に示していないサーブレットAPIについては,データベースセッションフェイルオーバ機能を使用した場合の影響はありません。

(2) サーブレットAPIの呼び出しによるデータベースとの通信の発生

次の表に示すサーブレットAPIを実装した場合,API呼び出しの延長でデータベースとの通信が発生します。そのため,性能への影響があります。

表6-43 データベースとの通信が発生するサーブレットAPI

項番クラスメソッド
1javax.servlet.http.HttpServletRequestgetSession()※1
2javax.servlet.http.HttpServletRequestgetSession(boolean create)※1
3javax.servlet.http.HttpSessioninvalidate()※2
注※1
新規にHttpSessionオブジェクトを作成した場合にだけ性能に影響があります。
注※2
有効なHttpSessionオブジェクトのinvalidate()メソッドを呼び出した場合にだけ性能に影響があります。