Manpages

名 前

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.classHelloImpl_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 の 間 に 空 白 は 入 れ ま せ ん 。

−keepgenerated

ス タ ブ お よ び ス ケ ル ト ン 用 に 生 成 さ れ た .java ソ ー ス フ ァ イ ル を 保 持 し ま す 。 −d オ プ シ ョ ン が 指 定 さ れ て い れ ば 、 ソ ー ス フ ァ イ ル は .class フ ァ イ ル と 同 じ デ ィ レ ク ト リ に 出 力 さ れ ま す 。

−nowarn

警 告 を 出 力 し ま せ ん 。 つ ま り 、 コ ン パ イ ラ は 警 告 メ ッ セ ー ジ を い っ さ い 出 力 し ま せ ん 。

−sourcepath path

ユ ー ザ の ソ ー ス フ ァ イ ル を 検 索 す る 場 所 を 指 定 し ま す 。

−vcompat

JDK 1.1 と 1.2 の ス タ ブ プ ロ ト コ ル バ ー ジ ョ ン と 互 換 性 の あ る ス タ ブ と ス ケ ル ト ン を 作 成 し ま す (デ フ ォ ル ト )。

−verbose

コ ン パ イ ラ と リ ン カ に 詳 細 情 報 を 出 力 さ せ ま す 。 具 体 的 に は 、 コ ン パ イ ル さ れ る ク ラ ス フ ァ イ ル 、 お よ び ロ ー ド さ れ る ク ラ ス フ ァ イ ル に 関 す る 情 報 が 出 力 さ れ ま す 。

−v1.1

JDK 1.1 ス タ ブ プ ロ ト コ ル バ ー ジ ョ ン の ス タ ブ と ス ケ ル ト ン を 作 成 し ま す 。

−v1.2

JDK 1.2 ス タ ブ プ ロ ト コ ル バ ー ジ ョ ン の ス タ ブ だ け を 作 成 し ま す 。

環 境

CLASSPATH

ユ ー ザ 定 義 ク ラ ス へ の パ ス を シ ス テ ム に 通 知 す る た め に 使 用 し ま す 。 複 数 の デ ィ レ ク ト リ を 指 定 す る 場 合 は コ ロ ン で 区 切 り ま す 。 以 下 に 例 を 示 し ま す 。

.:/usr/local/java/classes