Oracle Containers for J2EE Enterprise JavaBeans開発者ガイド 10g(10.1.3.1.0) B31852-03 |
|
この項の内容は次のとおりです。
詳細は、次を参照してください。
注意 Application Server Controlを使用している場合、セッションBeanとともにデプロイされるEJB 3.0エンティティは、EJB JARモジュールのApplication Server Controlビューには表示されません。詳細は、「Oracle Enterprise Manager 10g Application Server Controlの使用方法」を参照してください。 |
この項の内容は次のとおりです。
詳細は、『Oracle Containers for J2EEデプロイメント・ガイド』の大規模アプリケーションのデプロイに関する項を参照してください。
非常に大きなアプリケーション(EAR)がOC4Jにデプロイされる場合、デプロイ時にOutOfMemory
例外がスローされることがあります。
VMヒープおよび永続領域構成により、このような例外が発生することがあります。デフォルトでは、ヒープおよび永続領域は64MBに設定されます。
ヒープ領域の問題がある場合は、ヒープ領域をjava -Xmx750m -Xms512m
と指定する必要があります。
永続領域の問題がある場合は、永続領域をjava -Xmx750m -Xms512m -XX:PermSize=128m -XX:MaxPermSize=256m
と指定する必要があります。
デプロイ・プロセスがなんらかの理由で中断された場合、temp
ディレクトリのクリーンアップが必要となる場合があります。このディレクトリは、デフォルトでシステム上の/var/tmp
です。デプロイ・ウィザードによって、デプロイ・プロセス時に情報を格納するために、一時ディレクトリのスワップ領域で20MBが使用されます。プロセス完了時に、temp
ディレクトリから追加のファイルがクリーンアップされます。ただし、ウィザードが中断されると、temp
ディレクトリをクリーンアップする時間や機会がない場合があります。したがって、このディレクトリから追加のデプロイメント・ファイルを手動でクリーンアップする必要があります。クリーンアップを実行しないと、ディレクトリがいっぱいになる可能性があり、その後のデプロイができなくなります。OutOfMemory
例外を受信した場合は、temp
ディレクトリの使用可能領域をチェックしてください。
temp
ディレクトリを変更するには、OC4Jプロセスのコマンドライン・オプションをjava.io.tmpdir=<new_tmp_dir>
に設定します。このコマンドライン・オプションは「サーバー・プロパティ」ページで設定できます。最初にOC4Jのホームページにドリルダウンします。次に「管理」セクションにスクロールダウンします。「サーバー・プロパティ」を選択します。このページで、「コマンドライン・オプション」セクションにスクロールダウンし、「OC4Jオプション」行にjava.io.tmpdir
の変数定義を追加します。新規OC4Jプロセスはすべて、このプロパティを使用して起動されます。
アプリケーション(EAR)に複数のJARファイルが含まれている場合は、OutOfMemory
例外を修正するようにバッチ・デプロイを無効にできます。ただし、EARファイルにJARファイルが1つのみ含まれている場合、このアプローチではこのような例外が修正されません。この場合は、VMを調整する必要があります(「デプロイ時のメモリー不足エラーを回避するためのVMの調整」を参照)。
OC4Jがデプロイ時にOutOfMemory
不足例外をスローし、VMの調整(「デプロイ時のメモリー不足エラーを回避するためのVMの調整」を参照)と一時ディレクトリの調整(「デプロイ時のメモリー不足エラーを回避するための一時ディレクトリの構成」を参照)をすでに試した場合は、非バッチ・モードでコンパイルを試すこともできます。非バッチ・モードでは必要なメモリー量が少なくなりますが、このモードではデプロイ時間が長くなります。
バッチ・コンパイルを有効または無効にするには、<application>
または<orion-application>
要素の属性batch-compile
を使用します。
batch-compile
のデフォルト値はtrue
です。
バッチ・コンパイルを無効にするには、この属性をfalse
に設定します。
例28-1に、orion-applicatin.xml
デプロイメント・ディスクリプタでこの属性を構成する方法を示します。
<orion-application batch-compile ="false">
...
</orion-application>
メモリー不足エラーが解決しない場合は、バッチ・コンパイルの無効化を試します。
OC4Jでは、デプロイされたアプリケーションの一部であるEJBモジュールの増分または部分的な再デプロイがサポートされます。この機能により、モジュール全体を再デプロイする必要なく、EJB JAR内の変更されたBeanのみ再デプロイできます。以前にデプロイされ、変更されていないBeanは、引き続き使用されます。
この機能は、OC4Jの以前のリリースよりも大幅に拡張されています。以前のリリースでは、EJBモジュールが1つの単位として扱われ、最初にモジュールをアンデプロイしてから更新とともに再デプロイする必要がありました。
OC4Jの再起動は、再デプロイ・プロセス中にEJB構成データに変更が行われた場合にのみ必要です。変更が行われていない場合は、OC4Jを再起動せずにホット・デプロイを実行できます。
増分再デプロイ操作は、Enterprise Beanを含む更新対象のアプリケーションを自動的に停止してから、終了時にアプリケーションを自動的に再起動します。
CMPまたはBMPエンティティBeanの場合、OC4Jはコード生成機能を使用してEJBインタフェースのサーバー実装(ラッパー)を生成します。この場合、一般的には、アプリケーション全体を再デプロイするよりも変更されたBeanのみを増分再デプロイする方が効率的です。
セッションBean、メッセージドリブンBeanおよびEJB 3.0 JPAエンティティの場合、OC4Jはバイト・コード生成機能を使用してラッパーを生成します。この方法ではデプロイ時間が大幅に短縮されるため、アプリケーション全体を再デプロイしても変更されたBeanのみを再デプロイしても効率的には同じになる可能性があります。この場合、増分再デプロイの実行は任意です。
増分デプロイを使用するための一般的な手順は、次のとおりです。
myBeans-ejb.jar
など)を再構築します。
<
OC4J_HOME
>¥j2ee¥home¥admin.jar
またはadmin_client.jar
(updateEBJModule
コマンドを使用)
例28-2に、admin.jar
の使用方法を示します。
java -jar admin.jar ormi://localhost:23791 admin welcome -application -updateEJBModule -jar myBeans-ejb.jar
詳細は、『Oracle Containers for J2EEデプロイメント・ガイド』の更新されたEJBモジュールの増分再デプロイに関する項を参照してください。
通常、アプリケーションは、OC4Jにデプロイする前にEARファイルにパッケージ化します。ただし、アプリケーションは、展開ディレクトリ構造に配置したままの状態でデプロイできます。この方法は、パッケージ化の手順を省略できるため、デプロイ時とテスト時に役立ちます。たとえば、JDeveloperを使用して、展開ディレクトリ構造のアプリケーションを操作できます。展開デプロイを使用すると、各デプロイの前に再アーカイブすることなく、何度でも展開ディレクトリ構造をデプロイできます。
展開デプロイ用にOC4Jを構成するには、<
OC4J_HOME
>¥j2ee¥home¥config¥server.xml
ファイルを編集します。使用するアプリケーションのapplication
要素を変更し、path
にそのアプリケーションの展開ディレクトリのルートを指定します。例28-3に、path
属性を展開ディレクトリのルートに設定したアプリケーションmyapp
のapplication
要素を示します。
<application-server ...>
...
<!-- Regular EAR deployment -->
<application name="app" path="../../home/applications/app.ear" start="true" />
<!-- Expanded deployment -->
<application name="myapp" path="C:/projects/myapp" start="true" />
...
</application-server>
1つ以上のアノテーションのあるEJB 3.0アプリケーションのデプロイ時に、OC4Jはそのメモリー内のejb-jar.xml
ファイルをデプロイ・ディレクトリ内のorion-ejb-jar.xml
ファイルと同じ場所(<
ORACLE_HOME
>/j2ee/home/application-deployments/
)に自動的に書き込みます。
my_application/META-INF
このejb-jar.xml
ファイルは、アノテーションとデプロイ済ejb-jar.xml
ファイル(存在する場合)の両方から取得された構成を表します。
EJB 2.1アプリケーションをデプロイする場合、生成されたラッパー・コードを保持するには、システム・プロパティKeepWrapperCode
を設定する必要があります(「生成されたラッパー・コードのデバッグ」を参照)。
詳細は、「EJBアプリケーションのトラブルシューティング」を参照してください。
|
![]() Copyright © 2002, 2008 Oracle Corporation. All Rights Reserved. |
|