rmic コンパイラー
rmic コンパイラーに関する参照情報。
目的
rmic コンパイラーは、Java™ Language to OMG IDL Language Mapping Specification ( https://www.omg.org/cgi-bin/doc?formal/01-06-07) に従って IIOP スタブとタイを生成し、IDL を発行します。パラメーター
- -iiop
スタブ・クラスおよびタイ・クラスを生成します。 スタブ・クラスは、リモート・オブジェクトのローカル・プロキシーです。 クライアントは、スタブ・クラスを使用して、サーバーに呼び出しを送信します。 各リモート・インターフェースには、それぞれのリモート・インターフェースを実装するスタブ・クラスが必要です。 クライアントが使用するリモート・オブジェクト参照は、スタブへの参照です。 サーバー・サイドでタイ・クラスを使用して着信する呼び出しを処理し、正しい実装クラスの呼び出しをディスパッチします。 各実装クラスにはタイ・クラスが必要です。
また、抽象インターフェース用にスタブ・クラスも生成されます。 抽象インターフェースは、java.rmi.Remote を拡張したインターフェースではありませんが、java.rmi.RemoteException または java.rmi.RemoteException のスーパークラスのいずれかをスローするメソッドを備えています。 インターフェースは java.rmi.Remote を拡張していなくても、メソッドを持たなくても抽象インターフェースです。
- -poa
org.omg.CORBA_2_3.portable.ObjectImpl から org.omg.PortableServer.Servant への継承を変更します。 このタイプのマッピングは非標準であり、Java 言語から OMG IDL へのマッピング仕様 ( https://www.omg.org/cgi-bin/doc?formal/01-06-07) では指定されていません。
ポータブル・オブジェクト・アダプター (POA) の PortableServer モジュールは、ネイティブ・サーバント型を定義します。 Java プログラミング言語では、サーバント・タイプは Java org.omg.PortableServer.Servant クラスにマップされます。 クラスは、すべての POA サーバント実装の基底クラスとして動作します。 これは、POA 自体で呼び出され、サーバント動作の側面を制御するためにユーザーによってオーバーライドされるメソッドだけでなく、アプリケーション・プログラマーが呼び出し可能な複数のメソッドを提供します。
-iiopオプションがある場合にのみ有効です。
- -idl
指定されているクラスおよび参照されているクラスの OMG IDL を生成します。 このオプションは、Java RMI-IIOP サーバーと対話する必要がある別の言語で作成された CORBA クライアントがある場合にのみ必要です。
ヒント: OMG IDL が rmic -idlを使用して生成された後、生成された IDL を IDL-to-C++ または他の言語コンパイラーで使用しますが、IDL-to-Java 言語コンパイラーでは使用しません。 ラウンド・トリップ は推奨されず、必要性もありません。 IDL 生成機能は、他の言語で使用するためのものです。 Java クライアントまたはサーバーは、元の RMI-IIOP タイプを使用できます。IDL は、オブジェクトに API を指定するための純粋な宣言方法を提供します。 IDL は、使用されるプログラミング言語に関係することはありません。 IDL は、CORBA バインディングを提供する任意の言語で記述したり、その言語から呼び出ししたりできる、メソッドおよびデータの仕様として使用されます。 Java と C++ はそのような言語です。 詳細については、「Java Language to OMG IDL Mapping Specification」( https://www.omg.org/cgi-bin/doc?formal/01-06-07) を参照してください。
制約事項: 生成された IDL は、IDL に対する CORBA 2.3 拡張機能をサポートする IDL コンパイラーのみを使用してコンパイルできます。- -always
- 既存のスタブ、タイ、または IDL が入力クラスよりも新しい場合でも強制的に再生成します。 -iiopオプションまたは-idlオプションがある場合にのみ有効です。
- -noValueMethods
IDL 生成中に出力される valuetype にメソッドおよび初期化指定子が含まれないようにします。 メソッドおよび初期化指定子は valuetype のオプションであり、指定しない場合は省略されます。
-idlオプションと一緒に使われた場合にのみ有効です。
- -idlModule < JavaPackage から [.class]> < IDLModule> (ToIDLModule>)
IDLEntity パッケージ・マッピングを指定します。 例: -idlModule sample.bar my::real::idlmod
-idlオプションと一緒に使われた場合にのみ有効です。
- -idlFile < JavaPackage から [.class]> < IDLModule> (ToIDLModule>)
IDLEntity ファイル・マッピングを指定します。 例: -idlFile test.pkg.X TEST16.idl
-idlオプションと一緒に使われた場合にのみ有効です。