サーブレットの基礎知識 |
|
サーブレットコンテナ上でサーブレットを動作させる際にも、やはり通常のJavaアプリケーションと同様にクラスパスを設定する必要があります。
ただしサーブレットの場合は、通常のクラスパス以外にも、もう1種類サーブレットリロード用のパスを設定するのが一般的です。
このパスは、サーブレットコンテナによってJavaVMとは独立に管理されるもので、通常、サーブレットコンテナは一定周期でこのパスを監視しており、もしそこに配置されているサーブレットのクラスファイルが更新された場合は、自動的に新しいクラスファイルをリロード(再ロード)して用いるようになっています。
この機能は、開発時にはサーブレットコンテナ自体の再起動をする必要がないため便利ですが、運用時のサーブレットのリロードは、(1)destroyメソッドの実行→(2)クラスのアンロード→(3)クラスのロード→(4)initメソッドの実行というサイクルを行うことになるため、保持しているセッションなどが切断されてしまうことがあります。サーブレットの自動再ロード機能は、設定によって有効・無効を切り替えることが可能ですから、開発時には有効に、本番運用時には無効にしておくのがよいでしょう。
また、サーブレット以外のクラスは、通常はリロードの対象になりません。サーブレット以外のクラスを更新した場合には、サーブレットコンテナの再起動が必要になりますので注意してください。
「Java Solution FAQ」 |
Java Agile フォーラム 新着記事
- 実運用の障害対応時間比較に見る、ログ管理基盤の効果 (2017/5/9)
ログ基盤の構築方法や利用方法、実際の案件で使ったときの事例などを紹介する連載。今回は、実案件を事例とし、ログ管理基盤の有用性を、障害対応時間比較も交えて紹介 - Chatwork、LINE、Netflixが進めるリアクティブシステムとは何か (2017/4/27)
「リアクティブ」に関連する幾つかの用語について解説し、リアクティブシステムを実現するためのライブラリを紹介します - Fluentd+Elasticsearch+Kibanaで作るログ基盤の概要と構築方法 (2017/4/6)
ログ基盤を実現するFluentd+Elasticsearch+Kibanaについて、構築方法や利用方法、実際の案件で使ったときの事例などを紹介する連載。初回は、ログ基盤の構築、利用方法について - プログラミングとビルド、Androidアプリ開発、Javaの基礎知識 (2017/4/3)
初心者が、Java言語を使ったAndroidのスマホアプリ開発を通じてプログラミングとは何かを学ぶ連載。初回は、プログラミングとビルド、Androidアプリ開発、Javaに関する基礎知識を解説する。
|
|