名 前
rmic − Java RMI ス タ ブ コ ン パ イ ラ
形 式
rmic [
−bootclasspath path ] [
−classpath path ]
[ −d directory ] [ −depend
] [ −extdirs path ] [ −g ]
[ −idl ] [ −iiop ] [
−keepgenerated ] [ −J ]
[ −nowarn ] [ −sourcepath
path ] [ −vcompat ]
[ −verbose ] [ −v1.1 ] [
−v1.2 ]
package-qualified-class-names
機 能 説 明
rmic コ ン パ イ ラ は 、 リ モ ー ト オ ブ ジ ェ ク ト を 含 ん だ コ ン パ イ ル 後 の Java ク ラ ス の 名 前 か ら 、 ス タ ブ と ス ケ ル ト ン ク ラ ス フ ァ イ ル を 生 成 し ま す 。 リ モ ー ト オ ブ ジ ェ ク ト と は 、 イ ン タ フ ェ ー ス java.rmi.Remote を 実 装 す る オ ブ ジ ェ ク ト で す 。 rmic コ マ ン ド に 指 定 す る ク ラ ス 名 は 、 javac(1) コ マ ン ド で 正 し く コ ン パ イ ル さ れ た ク ラ ス を 表 し 、 か つ パ ッ ケ ー ジ 名 で 完 全 に 修 飾 さ れ て い る 必 要 が あ り ま す 。 次 に 示 す 例 で は 、 HelloImpl と い う ク ラ ス フ ァ イ ル に 対 し て rmic を 実 行 し て い ま す 。
example% rmic hello.HelloImpl こ れ に よ り 、 HelloImpl_Skel.class と HelloImpl_Stub.class の 2 つ の フ ァ イ ル が 生 成 さ れ ま す 。 リ モ ー ト オ ブ ジ ェ ク ト 用 の ス ケ ル ト ン は サ ー バ 側 の エ ン テ ィ テ ィ で 、 実 装 さ れ て い る リ モ ー ト オ ブ ジ ェ ク ト を 呼 び 出 す メ ソ ッ ド を 含 ん で い ま す 。 ス タ ブ と は リ モ ー ト オ ブ ジ ェ ク ト の プ ロ キ シ で 、 リ モ ー ト オ ブ ジ ェ ク ト の メ ソ ッ ド 呼 び 出 し を 実 際 の リ モ ー ト オ ブ ジ ェ ク ト が 存 在 す る サ ー バ へ 転 送 す る 役 目 を 果 た し ま す 。 し た が っ て ク ラ イ ア ン ト に よ る リ モ ー ト オ ブ ジ ェ ク ト の 参 照 は 、 実 際 に は 局 所 ス タ ブ へ の 参 照 と な り ま す 。 ス タ ブ は リ モ ー ト イ ン タ フ ェ ー ス だ け を 実 装 し て い て 、 リ モ ー ト オ ブ ジ ェ ク ト が 実 装 し て い る 局 所 イ ン タ フ ェ ー ス は 扱 い ま せ ん 。 ス タ ブ が 実 装 し て い る リ モ ー ト イ ン タ フ ェ ー ス は 、 リ モ ー ト オ ブ ジ ェ ク ト の も の と ま っ た く 同 一 で す 。 し た が っ て ク ラ イ ア ン ト は 、 キ ャ ス ト し た り 型 チ ェ ッ ク し た り す る の に Java 言 語 の 組 み 込 み 演 算 子 を 使 う こ と が で き ま す 。
オ プ シ ョ ン
以 下 の オ プ シ ョ ン が 使 用 で き ま す 。
−bootclasspath
path ブ ー ト ス ト
ラ ッ プ ク ラ ス
フ ァ イ ル の 位
置 を オ ー バ ー
ラ イ ド し ま す
。
−classpath path
rmic が ク ラ ス を 探 す の に 用 い る パ ス を path で 指 定 し ま す 。 こ の 指 定 値 は 、 デ フ ォ ル ト お よ び CLASSPATH 環 境 変 数 の 設 定 値 を オ ー バ ー ラ イ ド し ま す 。 複 数 の デ ィ レ ク ト リ を 指 定 す る 場 合 は コ ロ ン で 区 切 り ま す 。 し た が っ て path の 通 常 の 形 式 は 次 の よ う に な り ま す 。
.:<your_path> 以 下 に 例 を 示 し ま す 。
.:/usr/local/java/classes
−d directory ク ラ ス 階 層 構 造 の ル ー ト デ ィ レ ク ト リ を 指 定 し ま す 。 省 略 し た 場 合 、 ル ー ト デ ィ レ ク ト リ は デ フ ォ ル ト で 現 在 の デ ィ レ ク ト リ に な り ま す 。 | |
−depend 他 の ク ラ ス フ ァ イ ル か ら 参 照 さ れ て い る ク ラ ス フ ァ イ ル を 再 コ ン パ イ ル さ せ ま す 。 デ フ ォ ル ト で は 、 コ ン パ イ ラ が 再 コ ン パ イ ル す る の は 、 ソ ー ス コ ー ド が 参 照 し て い る ク ラ ス フ ァ イ ル の う ち 見 つ か ら な い フ ァ イ ル お よ び 以 前 の フ ァ イ ル だ け で す 。 | |
−extdirs path イ ン ス ト ー ル さ れ る 拡 張 機 能 の 位 置 を オ ー バ ー ラ イ ド し ま す 。 | |
−g デ バ ッ グ 用 テ ー ブ ル の 生 成 を 行 い ま す 。 こ の テ ー ブ ル に は 行 番 号 と 局 所 変 数 に 関 す る 情 報 が 含 ま れ 、 こ の 情 報 は |
Java の デ バ ッ グ ツ ー ル が 使 用 し ま す 。 デ フ ォ ル ト で は 、 行 番 号 だ け が 生 成 さ れ ま す 。
−idl |
rmic に よ っ て 、 指 定 し た ク ラ ス お よ び 参 照 さ れ た ク ラ ス の OMG IDL が 生 成 さ れ ま す 。 IDL で は 、 プ ロ グ ラ ミ ン グ 言 語 に 依 存 せ ず に 、 宣 言 す る だ け で オ ブ ジ ェ ク ト の API を 指 定 で き ま す 。 IDL は 、 CORBA バ イ ン デ ィ ン グ を 提 供 す る 任 意 の 言 語 (Java、 C++ な ど ) を 使 用 し て 、 メ ソ ッ ド お よ び デ ー タ の 書 き 込 み お よ び 呼 び 出 し を 行 う と き の 仕 様 と し て 使 わ れ ま す 。 −idl オ プ シ ョ ン は 、 合 わ せ て 以 下 の オ プ シ ョ ン も 指 定 で き ま す 。 |
−always ま
た は −alwaysgenerate 既
存 の ス タ ブ 、
Tie、 お よ び IDL
が 入 力 ク ラ ス
よ り 新 し い と
き で も 、 強 制
的 に 生 成 し 直
し ま す 。
−factory 生 成 さ れ
た IDL で factory キ ー ワ
ー ド を 使 い ま
す 。
−idlModule fromJavaPackage[.class] toIDLModule
IDLEntity パ ッ ケ ー ジ の マ ッ ピ ン グ を 指 定 し ま す 。 次 に 例 を 示 し ま す 。
−idlModule
foo.bar
my::real::idlmod.
−idlFile fromJavaPackage[.class] toIDLFile
IDLEntity フ ァ イ ル の マ ッ ピ ン グ を 指 定 し ま す 。 次 に 例 を 示 し ま す 。
−idlFile test.pkg.X TEST16.idl
−iiop |
rmic は 、 JRMP の ス タ ブ と ス ケ ル ト ン ク ラ ス の 代 わ り に 、 IIOP の ス タ ブ と Tie ク ラ ス を 生 成 し ま す 。 ス タ ブ ク ラ ス は 、 リ モ ー ト オ ブ ジ ェ ク ト の ロ ー カ ル プ ロ キ シ で 、 ク ラ イ ア ン ト が サ ー バ に 呼 び 出 し を 送 信 す る と き に 使 わ れ ま す 。 各 リ モ ー ト イ ン タ フ ェ ー ス に は ス タ ブ ク ラ ス が 必 要 で す 。 ス タ ブ ク ラ ス に よ っ て リ モ ー ト イ ン タ フ ェ ー ス が 実 装 さ れ ま す 。 ク ラ イ ア ン ト で リ モ ー ト オ ブ ジ ェ ク ト を 参 照 す る と 、 実 際 に は ス タ ブ を 参 照 す る こ と に な り ま す 。 Tie ク ラ ス は 、 サ ー バ 側 で 受 信 し た 呼 び 出 し を 処 理 し 、 そ の 呼 び 出 し を 適 切 な 実 装 ク ラ ス に デ ィ ス パ ッ チ す る と き に 使 わ れ ま す 。 各 実 装 ク ラ ス に は 、 Tie ク ラ ス が 必 要 で す 。 |
−iiop を 指 定 し て rmic を 起 動 す る と 、 次 の 命 名 規 約 に 準 拠 し た ス タ ブ と Tie が 生 成 さ れ ま す 。
_<implementationName>_stub.class
_<interfaceName>_tie.class
−iiop オ プ シ ョ ン は 、 合 わ せ て 以 下 の オ プ シ ョ ン も 指 定 で き ま す 。
−always ま た は −alwaysgenerate 既 存 の ス タ ブ 、 Tie、 お よ び IDL が 入 力 ク ラ ス よ り 新 し い と き で も 、 強 制 的 に 生 成 し 直 し ま す 。
−nolocalstubs
同 じ プ ロ セ ス
の ク ラ イ ア ン
ト と サ ー バ に
対 し て 最 適 化
さ れ た ス タ ブ
を 作 成 し ま せ
ん 。
−noValueMethods
−idl オ プ シ ョ ン と と も に 使 用 す る 必 要 が あ り ま す 。 発 行 さ れ た IDL に 、 valuetype メ ソ ッ ド お よ び 初 期 化 子 を 追 加 し ま せ ん 。 こ の メ ソ ッ ド お よ び 初 期 化 子 は 、 valuetype の オ プ シ ョ ン で す 。 −idl オ プ シ ョ ン を 使 う と き は 、 −noValueMethods オ プ シ ョ ン を 指 定 し な い 限 り 生 成 さ れ ま す 。
−poa 継 承 を |
org.omg.CORBA_2_3.portable.ObjectImplか ら |
org.omg.PortableServer.Servant.へ
変 更 し ま す 。
Portable Object Adapter (POA) の PortableServer
モ ジ ュ ー ル は
、 ネ イ テ ィ ブ
の servant 型 を 定 義
し ま す 。 Java プ ロ
グ ラ ミ ン グ 言
語 で は 、 servant 型
は 、 Java の
org.omg.PortableServer.Servant ク ラ
ス に マ ッ プ さ
れ ま す 。 こ れ
は す べ て の POA サ
ー バ ン ト 実 装
の 基 底 ク ラ ス
と し て 機 能 し
、 ア プ リ ケ ー
シ ョ ン 開 発 者
が 呼 び 出 せ る
多 数 の メ ソ ッ
ド を 提 供 し ま
す 。 ま た 、 POA 自
体 が 読 み 出 し
た り 、 サ ー バ
ン ト 動 作 を 制
御 す る た め に
ユ ー ザ が 上 書
き し た り で き
る メ ソ ッ ド も
提 供 し ま す 。 CORBA
V 2.3.1 の 「 OMG IDL to Java Language Mapping
Specfication (ptc/00-01-08.pdf)」 に 基
づ い て い ま す
。
−J |
−D オ プ シ ョ ン と 一 緒 に 使 用 し て 、 こ れ に 続 く オ プ シ ョ ン を java イ ン タ プ リ タ に 渡 し ま す 。 −J と −D の 間 に 空 白 は 入 れ ま せ ん 。
ス タ ブ
お よ び ス ケ ル
ト ン 用 に 生 成
さ れ た .java ソ ー
ス フ ァ イ ル を
保 持 し ま す 。
−d オ プ シ ョ ン
が 指 定 さ れ て
い れ ば 、 ソ ー
ス フ ァ イ ル は
.class フ ァ イ ル と
同 じ デ ィ レ ク
ト リ に 出 力 さ
れ ま す 。 警 告 を 出 力 し ま せ ん 。 つ ま り 、 コ ン パ イ ラ は 警 告 メ ッ セ ー ジ を い っ さ い 出 力 し ま せ ん 。
−vcompat
コ ン パ イ ラ と リ ン カ に 詳 細 情 報 を 出 力 さ せ ま す 。 具 体 的 に は 、 コ ン パ イ ル さ れ る ク ラ ス フ ァ イ ル 、 お よ び ロ ー ド さ れ る ク ラ ス フ ァ イ ル に 関 す る 情 報 が 出 力 さ れ ま す 。
環 境
.:/usr/local/java/classes |