WAS 小ワザ集 第13回:HttpSessionに格納されているオブジェクトを調査する

 View Only
Sun February 20, 2022 08:36 AM

転載者注:以下の内容はWAS Fullプロファイル/WAS Traditionalランタイムについての情報です。

オリジナル文章公開日:2012年2月02日

単一のアプリケーションサーバーで動かしていたアプリケーションをクラスタ環境へ移行するときに、HttpSessionの使用の仕方が問題になることがあります。HttpSessionには、サーブレット仕様でSerializableなオブジェクトしか格納してはいけないことになっています。またパフォーマンスの観点から、HttpSessionに格納するオブジェクトのサイズはなるべく小さいことが望ましいとされています。

これらの規則を守っていなくても、アプリケーションが単一のサーバーで動いている場合には、ほとんど問題が表面化しません。アプリケーションをクラスタ環境で動かしたときに始めて発覚することが大部分です。

アプリケーションがHttpSessionをどのように使用しているかを外部から調査することは困難です。アプリケーション自身に使用方法のレポート機能をつけることが一番確実です。

このJSPファイルは、アクセスした時点でのHttpSessionの基本情報や、格納されているオブジェクトの詳細な情報を表示するツールです。格納されているオブジェクトがSerializableかどうか、Seiralizeしたときのサイズは何バイトになるかを表示することができます。また、Serializableでないオブジェクトが格納されている場合には、その詳細についてもレポートします。

このツールを使用するには、JSPファイルをアプリケーションの一部としてWARファイルに組み込みます。そしてURLを指定してブラウザからアクセスします。HttpSessionはスコープがアプリケーション単位に限定されていますので、調査対象と同じアプリケーションに組み込みます。

また、このツールを外部からアクセスすると、サーバー内部の情報が不用意に公開されてしまいます。開発環境やテスト局面でのみ使用し、本番の実行環境からは除去して下さい。

WAS V6.1/7.0/8.0で使用できます。

→ WAS 小ワザ集:目次ページにもどる

Statistics
0 Favorited
3 Views
1 Files
0 Shares
0 Downloads
Attachment(s)
zip file
sessionDump.zip   2 KB   1 version
Uploaded - Sun February 20, 2022