ヘッダーをスキップ
Oracle Containers for J2EEデプロイメント・ガイド
10g(10.1.3.5.0)
B56032-01
  目次
目次
索引
索引

戻る
戻る
 
次へ
次へ
 

5 Webモジュールのデプロイ

この章では、OC4JインスタンスへのWebモジュールのデプロイと再デプロイについて説明します。次の項目について説明します。

スタンドアロンWebモジュールのデプロイ

WARファイルとしてパッケージされたスタンドアロンWebモジュールは、OC4Jインスタンスにデプロイできます。ただし、Webモジュールを、defaultアプリケーション(スタンドアロンWebアプリケーションの場合)の子、またはWebモジュール・コンポーネントをまだ含んでいない別のデプロイ済アプリケーションの子として指定する必要があります。

WARは、すでにWebモジュールが含まれているアプリケーションの子としてデプロイすることはできません。つまり、acmeアプリケーションにすでにacme-web.warが含まれる場合は、別のWARファイルをそのアプリケーションにデプロイすることはできません。アプリケーションのEARファイルにWARを再パッケージして、アプリケーションを再デプロイしてください。

OC4Jは、生成したEARファイルでスタンドアロンWARファイルをラップし、EARをデフォルトのデプロイ・ディレクトリORACLE_HOME/j2ee/instance/applicationsにデプロイします。EARには、生成されたapplication.xmlデプロイ・ディスクリプタが含まれます。このディスクリプタには、Webモジュールへのアクセスに使用するためにURLに追加するコンテキスト・ルートが含まれています。

スタンドアロンWebモジュールをデプロイした後にOC4Jを再起動する必要はありません。

スタンドアロンWebアプリケーションの再デプロイ

ここでは、スタンドアロンWebアプリケーションは、defaultアプリケーションが親として指定されているWARファイルです。スタンドアロンWebアプリケーションを再デプロイするとき、OC4Jは次の処理を実行します。

既存のセッションは、Webアプリケーションに対して指定された永続ディレクトリのファイルにパージまたはシリアライズされます。永続ディレクトリは、<orion-web-app>要素のpersistence-path属性で定義されます。新たにデプロイされたアプリケーションを起動すると、そのアプリケーションは、シリアライズされたセッションを含むファイルを永続ディレクトリで探します。


注意:

  • /WEB-INF/classesにあるサーブレットの.classファイルを更新すると、直後のリクエストで、サーブレットとその依存クラスがリロードされ、オートデプロイ(OC4Jポーリング)が有効な場合はWebアプリケーションが自動的に再デプロイされます。

    OC4Jポーリングの詳細は、第14章「OC4Jでのオートデプロイの使用方法」を参照してください。

  • 再デプロイは、サーバー・デプロイ・ディレクトリにある、orion-application.xmlorion-web.xmlなどOC4J固有のディスクリプタには大きな影響を与えません。リロードがトリガーされても、以前にコピーまたは生成されたファイルは、前に指定されたデフォルト以外の設定を保持します。


更新済Webモジュールの既存アプリケーションへの再デプロイ

WARにパッケージされている更新済Webモジュールを、OC4Jで実行しているJ2EEアプリケーションに再デプロイすることはできません。WARをアプリケーションのEARファイルに再パッケージしてから、EAR全体を再デプロイする必要があります。

アクティブWebモジュールでのJavaServer Pagesの追加または変更

OC4Jでは、アプリケーションの再デプロイまたは再起動を行わずに、アクティブに実行しているWebモジュールに新しいJavaServer Pages(JSP)を追加し、既存のJSPを変更することもできます。

この機能を使用するには、OC4Jインスタンスで、展開したWARファイル構造の適切なディレクトリ(ORACLE_HOME/j2ee/instance/applications/appName/webModuleName/)に、新しいJSPまたは更新されたJSPをドロップします。OC4Jは、ページを変換して実行時にロード(またはリロード)します。

この機能はデフォルトで有効になっており、JSP構成パラメータの「JSPを変更するタイミング」で管理できます。このパラメータは、Application Server Controlで次のように設定できます。

  1. OC4Jインスタンスに対する「管理」タブをクリックします。

  2. 「JSPプロパティ」を選択します。

  3. 「JSPを変更するタイミング」パラメータを次のいずれかの値に設定します。

    • JSPの再コンパイル: これは、デフォルト設定です。OC4Jは、JSPページのタイムスタンプをチェックし、前回のロード時から変更されていると、JSPページを再変換して、リロードします。次の「クラスのリロード」で説明する機能も実行されます。

    • クラスのリロード: OC4Jは、JSPトランスレータで生成されるクラス(ページ実装クラスなど)のタイムスタンプをチェックし、前回ロードされてから変更または再デプロイされたクラスがあればリロードします。

      この機能は、たとえば、コンパイル済クラスをデプロイまたは再デプロイしたが、JSPページは開発環境から本番環境にデプロイまたは再デプロイしていない場合などに役立ちます。

    • 実行しない: このパラメータを設定すると自動リロード機能が無効になります。新しいJSPまたは更新されたJSPがOC4Jランタイムに自動的にロードされません。コンテナでは、JSPページのタイムスタンプや再変換が実行されず、生成されるJavaクラスもリロードされません。これは、JSPページが頻繁に変更されないことが想定される本番環境では最も効率のよいモードです。

  4. 変更内容を有効にするためにOC4Jインスタンスを再起動します。

この場合では、デプロイ済Webモジュールに依存クラスがすでに存在すること、およびJSPの更新ではweb.xmlまたはorion-web.xml構成ファイルへの変更が必要ないことが想定されています。これらの条件のいずれかが該当しない場合は、WebモジュールをWARファイルとして再パッケージして、EARファイル内のアプリケーション全体を再デプロイする必要があります。

XML構成ファイルでのJSP構成パラメータの設定

スタンドアロンOC4J環境では、main_mode <init-param>要素をglobal-web-application.xmlファイルに直接設定して、新しいJSPを実行中のWebモジュールに追加することができます。このファイルは、OC4JサーブレットとJSPコンテナの構成ファイルです。Application Server Controlで設定される値は、このファイルに永続化されます。

main_modeの有効な設定を次に示します。

次の例は、main_mode <init-param>要素をrecompileに設定する方法を示しています。これによって、OC4Jは、JSPページのタイムスタンプをチェックし、前回のロード時以降に変更されている場合は、JSPページを再変換してリロードします。

<servlet>
   <servlet-name>jsp</servlet-name>
   <servlet-class>oracle.jsp.runtimev2.JspServlet</servlet-class>
   <init-param>
      <param-name>precompile_check</param-name>
      <param-value>true</param-value>
   </init-param>
   <init-param>
      <param-name>main_mode</param-name>
      <param-value>recompile</param-value>
   </init-param>
   <init-param>
      <param-name>javaccmd</param-name>
      <param-value>javac -verbose</param-value>
   </init-param>
</servlet>

注意:

javaccmdパラメータは非推奨です。