ヘッダーをスキップ
Oracle® Fusion Middleware Oracle WebLogic Server エンタープライズ JavaBeans (EJB) プログラマーズ ガイド
11g リリース 1 (10.3.1)
B55528-01
 

目次
目次

戻る
戻る
 
次へ
次へ
 

D appc リファレンス

ここでは、EJB コードのコンパイル、検証、生成に使用する WebLogic Server appc ツールの詳細なリファレンスを提供します。

appc

appc コンパイラは、EJB および JSP を WebLogic Server にデプロイするのに必要なクラスを生成し、コンパイルします。また、個別のモジュール レベルとアプリケーション レベルの両方で、現在の仕様に準拠しているかどうかデプロイメント記述子を検証します。アプリケーション レベルのチェックでは、個別のモジュールに対するアプリケーション レベルのデプロイメント記述子のチェックと、モジュール全体の検証チェックが行われます。

Kodo 永続性ユニットを含むアプリケーションをコンパイルしている場合、appc コンパイラは Kodo エンハンサも実行します。Kodo エンハンサは、Java コンパイラが生成したバイトコードを後処理して、必要な永続機能の実装に必要なフィールドとメソッドを追加します。このバイトコードの変更では、スタック トレースの行番号は完全に維持され、Java デバッガとの互換性を維持します。Kodo の使い方については、『Oracle Fusion Middleware Oracle WebLogic Server エンタープライズ JavaBeans バージョン 3.0 プログラマーズ ガイド』の「WebLogic Server での Oracle Kodo の使い方」を参照してください。


注意 :

Kodo の管理による永続性ユニットと Kodo 以外の管理による永続性ユニットの両方を含むアプリケーションに対して appc を実行する場合、kodc は Kodo の管理による永続性ユニットだけを実行します。

appc の利点

appc ツールの利点は以下のとおりです。

  • 個々のモジュールを別々にコンパイルして、事後に EAR として結合するのではなく、アプリケーション全体をコンパイルできる柔軟性。

  • EAR コンパイル中に WebLogic Server がすべてのモジュールにアクセスできることによる、すべてのモジュールにわたる検証チェック、およびさまざまなモジュールに対するアプリケーションレベルのデプロイメント記述子検証。

    appc がなかったときは、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> 要素の詳細については、『Oracle Fusion Middleware Oracle WebLogic Server アプリケーションのデプロイメント』の「エンタープライズ アプリケーションのデプロイメント記述子の要素」の「module」を参照してください。

WebLogic Server 8.1 SP01 以降では、以下のように appc のコマンドライン オプションを使用して、アプリケーションの代替 J2EE および WebLogic Server デプロイメント記述子を指定できます。

  • -altappdd <file> - このオプションを使用すると、代替 J2EE デプロイメント記述子ファイル (application.xml) の絶対パスとファイル名を指定できます。

  • -altwlsappdd <file> - このオプションを使用すると、代替 WebLogic アプリケーション デプロイメント記述子ファイル (weblogic-application.xml) の絶対パスとファイル名を指定できます。

appc のオプション

表 D-1 は、appc のコマンドライン オプションのリストです。

表 D-1 appc のコマンドライン オプション

オプション 説明

-advanced

高度な使用オプションを出力する。

-altappdd

代替 J2EE アプリケーション デプロイメント記述子を指定する。

-altwlsappdd

代替 WebLogic Server アプリケーション デプロイメント記述子を指定する。

-basicClientJar

EJB 用に生成されたクライアント JAR のデプロイメント記述子を含まない。

-classpath <path>

コンパイル中に使用するクラスパスを選択する。

-clientJarOutputDir <dir>

生成されたクライアント jar ファイルを配置するディレクトリを指定する。これが設定されていないと、生成された jar ファイルは JVM が実行しているディレクトリと同じ場所に配置される。

-compiler <javac>

使用する Java コンパイラを選択する。

-deprecation

非推奨となった呼び出しについて警告する。

-forceGeneration

EJB および JSP クラスを強制的に生成する。このフラグがないと、チェックサムでその必要性が示されない限りクラスは再生成されない。

-g

デバッグ情報をクラス ファイルにコンパイルする。

-help

標準の使い方メッセージを出力する。

-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)。

-J<option>

Java 実行時にフラグを渡す。

-keepgenerated

生成された .java ファイルを保持する。

-library <file>

ライブラリのカンマ区切りのリスト。各ライブラリは、マニフェストで設定されていない場合、その名前とバージョンを次の構文で設定できる。

<file>[@name=<string>@libspecver=<version>

@libimplver=<version|string>]

-librarydir <dir>

指定したディレクトリ内のすべてのファイルをライブラリとして登録する。

-lineNumbers

生成されたクラス ファイルに行番号を追加し、デバッグを支援する。

-normi

Symantec の sj にフラグを渡す。

-nowarn

警告なしでコンパイルする。

-O

最適化を有効にしてコンパイルする。

-output <file>

代替的な出力アーカイブまたはディレクトリを指定する。これが設定されていないと、出力はソース アーカイブまたはディレクトリに置かれる。

-plan <file>

デプロイメント プラン (省略可能) を指定する。

-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 など) を指定します。Oracle Fusion Middleware Oracle WebLogic Server の Administration Console オンライン ヘルプの「コンパイラ オプションのコンフィグレーション」を参照してください。

weblogic-ejb-jar.xml のパブリック バージョンの場所については、「weblogic-ejb-jar.xml デプロイメント記述子のリファレンス」を参照してください。weblogic-cmp-jar.xml のパブリック バージョンの場所については、「weblogic-cmp-jar.xml デプロイメント記述子のリファレンス」を参照してください。