WebLogic エンタープライズ JavaBeans (EJB) プログラマーズ ガイド
appc と ejbc のリファレンス
appc
appc コンパイラは、EJB および JSP を WebLogic Server にデプロイするのに必要なクラスを生成し、コンパイルします。また、個別のモジュール レベルとアプリケーション レベルの両方で、現在の仕様に準拠しているかどうかデプロイメント記述子を検証します。アプリケーション レベルのチェックでは、個別のモジュールに対するアプリケーション レベルのデプロイメント記述子のチェックと、モジュール全体の検証チェックが行われます。
appc の利点
appc ツールの利点は以下のとおりです。
個々のモジュールを別々にコンパイルして、事後に EAR として結合するのではなく、アプリケーション全体をコンパイルできる柔軟性。
EAR コンパイル中に WebLogic Server がすべてのモジュールにアクセスできることによる、すべてのモジュールにわたる検証チェック、およびさまざまなモジュールに対するアプリケーションレベルのデプロイメント記述子検証。
これまでは、ear ファイル内のすべてのモジュールをコンパイルする場合、ユーザは EAR の個々のコンポーネントを抽出し、適切なコンパイラ (jspc または ejbc) を手動で実行して、デプロイメント用モジュールを準備しなければなりませんでした。appc はこのプロセスを自動化し、従来はできなかった追加の検証チェックをデプロイメント前に実行します。
appc のエラーを簡単に特定して修正できる。
コマンドラインで appc を実行中にエラーが発生すると、エラー メッセージが表示され、appc が終了します。
それに対して、コンパイルをデプロイメント時に行うことにした場合、コンパイル エラーが発生すると、サーバはデプロイメントが失敗しても作業を続けます。デプロイメントの失敗の原因を特定するには、サーバ出力を調べ、問題を修正し、再デプロイする必要があります。
デプロイメントの前に appc を実行すると、Bean のコンパイル時間を短縮できる。
たとえば、JAR ファイルを 3 つのサーバのクラスタにデプロイする場合、JAR ファイルが各サーバにコピーされてデプロイされます。JAR ファイルがコンパイルされていない場合、各サーバは、デプロイメント時にファイルをコンパイルする必要があります。
appc の構文
appc の実行には、次の構文を使用します。
prompt>java weblogic.appc [options] <ear, jar, or war file or directory>
代替デプロイメント記述子の指定
J2EE では、application.xml の <module> スタンザの <alt-dd> 要素を使用して、EJB または Web アプリケーション モジュールの代替 J2EE デプロイメント記述子を指定できます。
<alt-dd> を使用することで、J2EE デプロイメント記述子 web.xml および ejb-jar.xml についてのみ代替デプロイメント記述子を指定できます。WebLogic Server 8.1 SP01 からは、alt-dd でモジュールの代替デプロイメント記述子を指定すると、appc はその代替デプロイメント記述子ファイルを使用し、EJB を使用してそれをコンパイルします。
<alt-dd> 要素の詳細については、『WebLogic Server アプリケーションの開発』の「module」を参照してください。
WebLogic Server 8.1 SP01 以降では、以下のように appc のコマンドライン オプションを使用して、アプリケーションの代替 J2EE および WebLogic Server デプロイメント記述子を指定できます。
-altappdd <file> - このオプションを使用すると、代替 J2EE デプロイメント記述子ファイル (application.xml) の絶対パスとファイル名を指定できます。
-altwlsappdd <file> - このオプションを使用すると、代替 WebLogic アプリケーション デプロイメント記述子ファイル (weblogic-application.xml) の絶対パスとファイル名を指定できます。
appc のオプション
表 C-1 は、appc のコマンドライン オプションのリストです。
表 C-1 appc のコマンドライン オプション
|
オプション
|
説明
|
|
-advanced
|
高度な使用オプションを出力する。
|
|
-altappdd
|
代替 J2EE アプリケーション デプロイメント記述子を指定する。
|
|
-altwlsappdd
|
代替 WebLogic Server アプリケーション デプロイメント記述子を指定する。
|
|
-basicClientJar
|
EJB 用に生成されたクライアント JAR のデプロイメント記述子を含まない。
|
|
-classpath <path>
|
コンパイル中に使用するクラスパスを選択する。
|
|
-compiler <javac>
|
使用する Java コンパイラを選択する。
|
|
-convertDD
|
デプロイメント記述子を最新バージョンに更新しようとする。
|
|
-deprecation
|
非推奨となった呼び出しについて警告する。
|
|
-forceGeneration
|
EJB および JSP クラスを強制的に生成する。このフラグがないと、チェックサムでその必要性が示されない限りクラスは再生成されない。
|
|
-g
|
デバッグ情報をクラス ファイルにコンパイルする。
|
|
-idl
|
EJB リモート インタフェース用の IDL を生成する。
|
|
-idlDirectory <dir>
|
IDL ファイルを作成するディレクトリを指定する (デフォルトでは、対象ディレクトリまたは JAR)。
|
|
-idlFactories
|
値タイプ用にファクトリ メソッドを生成する。
|
|
-idlMethodSignatures <>
|
IDL コードを生成するトリガとして使用されるメソッド シグネチャを指定する。
|
|
-idlNoAbstractInterfaces
|
抽象インタフェース、およびそれを含むメソッドと属性を生成しない。
|
|
-idlNoValueTypes
|
値タイプ、およびそれを含むメソッドと属性を生成しない。
|
|
-idlOrbix
|
Orbix 2000 2.0 C++ と多少の互換性を持つ IDL を生成する。
|
|
-idlOverwrite
|
常に既存の IDL ファイルを上書きする。
|
|
-idlVerbose
|
IDL 生成についての詳細な情報を表示する。
|
|
-idlVisibroker
|
Visibroker 4.5 C++ と多少の互換性を持つ IDL を生成する。
|
|
-iiop
|
EJB 用に CORBA のスタブを生成する。
|
|
-iiopDirectory <dir>
|
IIOP のスタブ ファイルを記述するディレクトリを指定する (デフォルトでは、対象ディレクトリまたは JAR)。
|
|
-timeout
|
remote-client-timeout と一緒に使用される。
|
|
-J<option>
|
Java 実行時にフラグを渡す。
|
|
-keepgenerated
|
生成された .java ファイルを保持する。
|
|
-lineNumbers
|
生成されたクラス ファイルに行番号を追加し、デバッグを支援する。
|
|
-normi
|
Symantec の sj にフラグを渡す。
|
|
-nowarn
|
警告なしでコンパイルする。
|
|
-O
|
最適化を有効にしてコンパイルする。
|
|
-output <file>
|
代替的な出力アーカイブまたはディレクトリを指定する。 これが設定されていないと、出力はソース アーカイブまたはディレクトリに置かれる。
|
|
-print
|
標準の使い方メッセージを出力する。
|
|
-verbose
|
冗長情報を出力してコンパイルする。
|
|
-version
|
appc のバージョン情報を出力する。
|
appc および EJB
weblogic.appc は、以下の EJB 関連機能を実行します。
EJB 用の WebLogic Server コンテナ クラスを生成します。
すべての EJB クラスおよびインタフェースが EJB 仕様に準拠しているかどうかをチェックします。
潜在的なコンフィグレーション上の問題がないかデプロイメント記述子をチェックします。たとえば、ejb-jar.xml で cmp フィールドが宣言されていれば、appc は、カラムが weblogic-cmp-jar.xml デプロイメント記述子にマップされているかどうかを検証します。
RMI コンパイラを使用して各 EJB コンテナ クラスを実行し、スタブとスケルトンを動的に生成するのに必要な RMI 記述子を作成します。
appc は、デフォルトで javac をコンパイラとして使用します。パフォーマンスを向上させるには、コマンドライン -compiler フラグまたは Administration Console を使用して別のコンパイラ (Symantec の sj など) を指定します。「[コンパイラ オプション] のコンフィグレーション」を参照してください。
weblogic-ejb-jar.xml のパブリック バージョンの場所については、「weblogic-ejb-jar.xml デプロイメント記述子のリファレンス」を参照してください。weblogic-cmp-jar.xml のパブリック バージョンの場所については、「weblogic-cmp-jar.xml デプロイメント記述子のリファレンス」を参照してください。
ejbc
注意 : ejbc は非推奨です。代わりに appc を使用してください。「appc」を参照してください。
EJB コンテナ クラスの生成とコンパイルには、weblogic.ejbc ツールを使用します。EJB コンテナにデプロイするために JAR ファイルをコンパイルする場合は、weblogic.ejbc を使用して、コンテナ クラスを生成する必要があります。
weblogic.ejbc では次の処理を実行します。
指定した JAR ファイルに EJB クラス、インタフェース、および XML デプロイメント記述子を配置します。
すべての EJB クラスおよびインタフェースが EJB 仕様に準拠しているかどうかをチェックします。
EJB 用の WebLogic Server コンテナ クラスを生成します。
RMI コンパイラを使用して各 EJB コンテナ クラスを実行して、クライアントサイドの動的プロキシとサーバサイド バイト コードを作成します。
注意 : ejbc は、JAR ファイルおよび展開ディレクトリの両方を入力として受け付けます。
出力 JAR ファイルを指定すると、ejbc は、生成するファイルをすべて JAR ファイルに入れます。
ejbc は、デフォルトで javac をコンパイラとして使用します。パフォーマンスを向上させるには、-compiler フラグまたは Administration Console を使用して別のコンパイラ (Symantec の sj など) を指定します。「[コンパイラ オプション] のコンフィグレーション」を参照してください。
WebLogic 固有の XML デプロイメント記述子ファイルの複数バージョンが Web サイト上で公開され利用可能ですが、weblogic.ejbc で使用される内部バージョンは製品に同梱されています。
weblogic-ejb-jar.xml および weblogic-cmp-jar.xml のパブリック バージョンの場所については、「文書型定義および DOCTYPE ヘッダ情報」を参照してください。
ejbc の利点
ejbc ツールの利点は以下のとおりです。
ejbc のエラーを簡単に特定して修正できる。
コマンドラインで ejbc を実行中にエラーが発生すると、エラー メッセージが表示され、ejbc が終了します。
それに対して、コンパイルをデプロイメント時に行うことにした場合、コンパイル エラーが発生すると、サーバはデプロイメントが失敗しても作業を続けます。デプロイメントの失敗の原因を特定するには、サーバ出力を調べ、問題を修正し、再デプロイする必要があります。
デプロイメントの前に ejbc を実行すると、Bean のコンパイル時間を短縮できる。
たとえば、JAR ファイルを 3 つのサーバのクラスタにデプロイする場合、JAR ファイルが各サーバにコピーされてデプロイされます。JAR ファイルがコンパイルされていない場合、各サーバは、デプロイメント時にファイルをコンパイルする必要があります。
ejbc の構文
prompt> java weblogic.ejbc [options] <source directory or jar file>
<target directory or jar file>
注意 : 出力先が JAR ファイルの場合、出力 JAR には入力 JAR と異なる名前を付けなければなりません。
ejbc の引数
|
引数
|
説明
|
|
<source directory or jar file>
|
コンパイル済み EJB クラス、インタフェース、および XML デプロイメント ファイルを格納する展開ソース ディレクトリまたは JAR ファイルを指定する。
|
|
<target directory or jar file>
|
ejbc が出力 JAR を格納する送り先 JAR ファイルまたはデプロイメント ディレクトリを指定する。出力 JAR ファイルを指定した場合、ejbc は元の EJB クラス、インタフェース、および XML デプロイメント ファイルだけでなく、ejbc が生成する新規コンテナ クラスも JAR に格納する。
|
ejbc のオプション
|
オプション
|
説明
|
|
-help
|
コンパイラで使用可能なすべてのオプションのリストを出力する。
|
|
-version
|
ejbc のバージョン情報を出力する。
|
|
-basicClientJar
|
EJB 用に生成されたクライアント JAR のデプロイメント記述子を含まない。
|
|
-dispatchPolicy <queueName>
|
WebLogic Server で実行スレッドを取得するために EJB が使用するコンフィグレーション済み実行キューを指定する。詳細については、「実行キューによるスレッド使用の制御」を参照。
|
|
-forceGeneration
|
EJB クラスを強制的に生成する。このフラグを使用しない場合、クラスが再生成されないことがある (必要ないと判断された場合)。
|
|
-idl
|
リモート インタフェース用に CORBA インタフェース定義言語 (IDL) を生成する。
|
|
-idlNoValueTypes
|
値タイプ、およびそれを含むメソッドと属性を生成しない。
|
|
-idlFactories
|
値タイプ用にファクトリ メソッドを生成する。
|
|
-idlVisibroker
|
Visibroker 4.5 C++ と多少の互換性を持つ IDL を生成する。
|
|
-idlOrbix
|
Orbix 2000 2.0 C++ と多少の互換性を持つ IDL を生成する。
|
|
-idlOverwrite
|
既存の IDL ファイルを上書きする。
|
|
-idlVerbose
|
IDL の生成中に verbose 情報を表示する。
|
|
-idlDirectory <dir>
|
ejbc が IDL ファイルを生成するディレクトリを指定する。デフォルトでは、ejbc はカレント ディレクトリを使用する。
|
|
-idlMethodSignatures <>
|
IDL コードを生成するトリガとして使用されるメソッド シグネチャを指定する。
|
|
-iiop
|
EJB 用に CORBA のスタブを生成する。
|
|
-iiopDirectory <dir>
|
IIOP のスタブ ファイルを記述するディレクトリを指定する (デフォルトでは、対象ディレクトリまたは JAR)。
|
|
-timeout
|
remote-client-timeout と一緒に使用される。
|
|
-J
|
weblogic.ejbc のヒープ サイズを指定する。次のように指定する。
java weblogic.ejbc -J-mx256m input.jar output.jar
|
|
-keepgenerated
|
コンパイル中に生成される中間 Java ファイルを保存する。
|
|
-compiler <compiler name>
|
使用する ejbc のコンパイラを設定する。
|
|
-normi
|
RMI スタブの生成を中止する場合に Symantec の Java コンパイラ sj に渡される。それ以外の場合、sj は EJB には不必要な独自の RMI スタブを作成する。
|
|
-classpath <path>
|
コンパイル時に使用する CLASSPATH を設定する。これにより、システムまたはシェル CLASSPATH が拡張される。
|
|
-convertDD
|
デプロイメント記述子を最新バージョンに更新しようとする。
|