以下のサブトピックでは、サーバーの再始動が必要となる可能性のあるさまざまな状況について説明します。
開発環境では、サーバー上でアプリケーションのデバッグをしている場合など、サーバー上で稼働しているアプリケーションを 変更したいことがあります。このとき、サーバーを再始動しなくても変更されたコードを動的に再ロードできる場合もあります。変更された リソースのタイプ、およびサーバーのタイプによって、プログラムの状態が失われる可能性があります。
サーバー上でアプリケーションが実行しているときにコードを変更すると、 コードが自動または手動で再ロードされるまで、 Java™ 仮想マシンは初期コードを実行し続けます。 例えば、JSP ソースを変更することが可能で、その変更内容は自動的にサーバーへ再ロードされます。 その他のリソース (例えば、Tomcat 上で実行されている Java クラスなど) の場合は、サーバーを再起動して、変更を確実に認識させる必要があります。
サーバーの稼働中に サーバーまたはサーバー構成を変更する (例えば、ポート番号を変更する) 場合、 サーバーを再始動する必要があります。
JSP、HTML、GIF、JPG、または類似のリソース・ファイルに対して変更を行う場合は、 サーバーの実行中にファイルを保存する際、 サーバーでアプリケーションを公開する必要があります。変更が行われるリソース・ファイルが リンクされたリソースの場合は公開を実行することが特に重要です。 リンクされたリソースとは、ワークスペース外にあるファイル・システムのロケーション に格納されたファイルやフォルダーです。リンクされたリソース に対する変更はワークスペース外で行われたため、 ワークベンチやサーバーは変更を検出できません。
自動または手動でのサーバーへの公開について詳しくは、『アプリケーションの公開』トピックを参照してください。
サーバーの稼働中に サーブレットを変更してファイルを保存する場合、 そのアプリケーションに対して再ロードを使用可能にすれば、サーブレットは再ロードされます。 サーバーでホット・メソッド置換1が実行されている場合、ブラウザーを最新表示する必要なく、変更は 自動的に反映されます。サーバー上でアプリケーションを公開すると、サーバーは変更を認識します。 Web ブラウザーを最新表示しても、アプリケーションの状態は失われません。
サーバーでアプリケーションを公開するには、自動公開間隔が経過するまで待機するか、手動でアプリケーションを公開 (「サーバー」ビューでサーバーを右クリックし、「公開」を選択) します。自動または手動でのサーバーへの公開について詳しくは、『アプリケーションの公開』トピックを参照してください。そのプロジェクト のセッション・データは失われますが、アプリケーション内の他のプロジェクトの状態は 変更されません。「ナビゲーター」ビューの、メニューから、 該当するプロジェクトを再開することができます。Tomcat を実行していて、再ロード機能を使用可能にしていない場合は、 サーバーを再始動する必要があります。
WebSphere Application Server の場合、 規則は、Web プロジェクトのすべての従属クラスやデプロイメント記述子に適用されます。WebSphere Application Server 上で実行されている、web.xml デプロイメント記述子のセキュリティーまたはログイン構成プロパティーを変更した場合は、 サーバーを再始動する必要があります。Tomcat の場合、これらの変更に対して、いずれもサーバーの再始動が必要になります。
サーバーの実行中にサーブレット、従属クラス、 または JSP ファイルを Web プロジェクトに追加した場合は、再ロードを可能にしていれば、変更が認識されます。 再ロードを使用可能にしていない場合、WebSphere Application Server を実行しているときはアプリケーションを公開して EAR プロジェクトを再始動し、Tomcat を実行しているときはアプリケーションを公開してサーバーを再始動する必要があります。 サーバーでアプリケーションを公開するには、自動公開間隔が経過するまで待機するか、手動でアプリケーションを公開 (「サーバー」ビューでサーバーを右クリックし、「公開」を選択) します。 自動または手動でのサーバーへの公開について詳しくは、『アプリケーションの公開』トピックを参照してください。サーバーが デバッグ・モードでホット・メソッド置換機能を実行している場合、 Java クラスに対する変更は自動的に認識されます。
WebSphere Application Server の場合、サーバーにより EAR 内の EJB プロジェクトが動的に再始動されます。サーバーが デバッグ・モードでホット・メソッド置換機能を実行している場合、 Java クラスに対する変更は自動的に認識されます。
WebSphere Application Server の場合、サーバーで実行中にエンタープライズ・アプリケーション・プロジェクト内のいずれかのリソースを変更すると、 サーバーにより EAR が動的に再始動されます。Tomcat は、エンタープライズ・アプリケーション・プロジェクトのテストおよび公開をサポートしていません。
変更されたリソース | 必要な処置 | |||
---|---|---|---|---|
WebSphere Application Server | Apache Tomcat | WebSphere Application Server Express® | ||
サーバー構成 | 独立型の WebSphere Application Server と同じ動作。詳しくは、WebSphere Application Server のインフォメーション・センターを参照してください。 | サーバーを再始動 | サーバーを再始動 | |
JSP | Web ブラウザーの最新表示 | Web ブラウザーの最新表示 | Web ブラウザーの最新表示 | |
サーブレット | 再ロード使用可能 | Web ブラウザーの最新表示 | Web ブラウザーの最新表示 | Web ブラウザーの最新表示 |
再ロード使用不可 | EAR プロジェクトまたはサーバーを再始動 | サーバーを再始動 | EAR プロジェクトまたはサーバーを再始動 | |
従属クラスまたはデプロイメント記述子 | 再ロード使用可能 | Web ブラウザーの最新表示 | Web ブラウザーの最新表示 | Web ブラウザーの最新表示 |
再ロード使用不可 | EAR プロジェクトまたはサーバーを再始動 | サーバーを再始動 | EAR プロジェクトまたはサーバーを再始動 | |
EJB 実装 | 自動的に再ロード | サポートされていません | サポートされていません | |
EJB インターフェースまたはインターフェースの従属クラス | 自動的に再ロード。アプリケーション・クライアントが EJB 参照を保持している場合は、アプリケーション・クライアントを再開する。 | サポートされていません | サポートされていません | |
EJB、従属クラス、またはデプロイメント記述子 | 自動的に再ロード | サポートされていません | サポートされていません | |
追加された EJB または従属クラス | 自動的に再ロード | サポートされていません | サポートされていません | |
EAR ファイル | 自動的に再ロード | サポートされていません | Web ブラウザーの最新表示 |