java2com
java2comは、 どのプ ラ ッ ト フ ォームで も実行でき ます。 WebLogic jCOM ラ ン タ イ ム weblogic.jarが CLASSPATH環境変数に含まれている こ と を確認し て く だ さ い。
java2com ツールは、 Java ク ラ ス を (Java reflection メ カニズム を使用し て ) 解析 し、 以下の も のを出力し ます。
COM イ ン タ フ ェース定義言語 (IDL) フ ァ イ ル。
pure Java DCOM マーシ ャ リ ング コー ド ( ラ ッ パー )。 こ れは、vtable ( レ イ ト バ イ ン ド ) ア ク セ ス を使用し て COM か ら Java オブジ ェ ク ト へのア ク セ ス を 容易にする ために WebLogic jCOM ラ ン タ イ ムに よ っ て使用さ れます。
こ れ ら のフ ァ イルを生成し た後、 Microsoft の MIDLツールを使用し て IDL フ ァ イ ルを コ ンパ イル し ます。
IDL フ ァ イル と ラ ッ パーを生成する には、 最初に次のコ マン ド を使用し て java2com ツールを起動し ます。
java com.bea.java2com.Main
java2comツールは、 次のダ イ ア ロ グ ボ ッ ク ス を表示し ます。
こ のダ イ ア ロ グ ボ ッ ク スには、 以下のフ ィ ール ド が存在し ます ( コ ン フ ィ グ レー シ ョ ンの変更は、 ダ イ ア ロ グ ボ ッ ク スの終了時に自動的に保存さ れます )。
フ ィ ールド 説明 [Java Classes and
Interfaces]
java2comで解析する 「ルー ト 」 Java ク ラ ス と イ ン タ フ ェース が存在す る。 こ れ ら は、CLASSPATHでア ク セ ス可能でなければな ら ない。WebLogic jCOM は こ れ ら の ク ラ ス を解析し 、COM IDL 定義 と 、COM か ら Java ク
ラ ス にア ク セ スす る ための Java DCOM マーシ ャ リ ン グ コー ド を生成する 。 次に、 その ク ラ ス のパ ラ メ ー タ ま た はフ ィ ール ド で使用 さ れ る ク ラ ス ま たは イ ン タ フ ェース に対 し て同じ 解析を繰 り 返 し実行し 、 同様にア ク セ ス で き る すべての Java ク ラ ス と イ ン タ フ ェース を解析す る。
ク ラ ス名は スペース で区切っ て入力する 。[...] ボ タ ン を ク リ ッ ク する と 、 ク ラ ス の リ ス ト を表示 し て、 その リ ス ト か ら 追加または削除を行 う ためのダ イ ア ロ グが表示 さ れ る 。
[Name of Generated IDL File]
生成 さ れ る COM イ ン タ フ ェース定義言語 (IDL) フ ァ イ ルの名前。myjvm と 指定 し た場合は、myjvm.idlが生 成 さ れ る 。 こ の名前は、Microsoft の MIDL コ ンパ イ ラ を使用し てmyjvm.idlを コ ンパ イ ルす る と き に生成 さ れ る 型 ラ イ ブ ラ リ の名前に も 使用 さ れ る 。
[Output Directory] java2comが生成 し た フ ァ イ ルを出力す るデ ィ レ ク ト リ 。 デフ ォ ル ト はカ レ ン ト デ ィ レ ク ト リ ( 「.」 )。
[Dump Analysis] java2comが発見 し た ク ラ ス をその ま ま表示する 。 [Save Settings] と [Load
Settings]
[Save Settings] ボ タ ン を ク リ ッ ク する と 、 現在の java2com設定が保存 さ れ る。 こ の操作を行ってか ら 、 [Generate] を ク リ ッ クす る。
java2comは、 起動時にカ レ ン ト デ ィ レ ク ト リ に java2com.ser設定フ ァ イ ルが存在する かど う かを チ ェ ッ ク する 。 存在す る場合、 その フ ァ イ ルか ら 設定を 自動的に ロー ド す る。
java2com
[Names] [Names] ボ タ ン を ク リ ッ ク する と 、 次のダ イ ア ロ グボ ッ ク ス が表示 さ れ る。
ク ラ ス/イ ン タ フ ェース名 ド ロ ッ プダ ウ ン リ ス ト か ら
「*」 を選択する と 、 メ ンバー (フ ィ ール ド ま たは ク ラ ス ) 名の名前を入力する ためのテ キ ス ト ボ ッ ク ス が表示 さ れ る。 生成する ク ラ ス または イ ン タ フ ェース でその メ ン バー名が見つかっ た と き に使用 さ れ る 対応 COM 名を指 定で き る。 こ の名前を空白の ま まに し た場合、Java メ ン バーは COM イ ン タ フ ェース で生成 さ れ る 対応 メ ンバー を持たない。
ク ラ ス/イ ン タ フ ェース名 ド ロ ッ プダ ウ ン リ ス ト か ら 特 定の COM ク ラ ス名ま たは イ ン タ フ ェース を選択す る と 、 その ク ラ ス ま たは イ ン タ フ ェース の メ ンバーのセ ッ ト が その下に表示 さ れ る 。 使用す る COM 名を指定 し、[Add this Class Name map] を ク リ ッ ク する こ と に よ って、 選択 し た ク ラ ス/イ ン タ フ ェース を指定 し た COM 名にマ ッ プする 。[Add this Member Name map] を ク リ ッ ク す る と 、 選択し た メ ンバーを指定 し た COM 名にマ ッ プで き る 。
フ ィ ールド 説明
[Generate] ボ タ ン こ のボ タ ン を ク リ ッ ク する と 、 ラ ッ パーおよ び IDL フ ァ イ ルが生成 さ れ る 。
java2comが発見する パブ リ ッ ク Java イ ン タ フ ェース ご と に、 対応す る COM イ ン タ フ ェース定義が作成 さ れ る。
Java イ ン タ フ ェース名がcom.bea.finance.Bankable の場合、 生成 さ れ る COM イ ン タ フ ェース の名前は、
[Names] ダ イ ア ロ グで異な る 名前を指定し ない限 り 、 ComBeaFinanceBankable と な る。
java2comが発見する パブ リ ッ ク Java ク ラ ス ご と に、 対 応す る COM イ ン タ フ ェース定義が作成 さ れ る 。Java ク
ラ ス名がcom.bea.finance.Accountの場合、 生成 さ れ る COM イ ン タ フ ェース の名前は、[Names] ダ イ ア ロ グで異な る名前を指定 し ない限 り 、
IComBeaFinanceAccount と な る。 ま た、Java ク ラ ス が パブ リ ッ クデフ ォル ト コ ン ス ト ラ ク タ を持つ場合、
java2comは、[Names] ダ イ ア ロ グで異な る名前を指定 し ない限 り 、COM ク ラ スComBeaFinanceAccountを 生成する 。
Java ク ラ ス が Java イ ベン ト を生成で き る場合、 生成 さ れ る COM ク ラ ス は Java ク ラ ス に よ っ てサポー ト さ れ る イ ベン ト に対応する ソ ース イ ン タ フ ェース (COM イベン ト ) を持つ。
生成 さ れた IDL フ ァ イルは、Microsoft の MIDL ツール を使用し て コ ンパ イ ルする 。 こ のツールは Visual C++ に 付属 し てお り 、Microsoft Web サ イ ト か ら ダ ウ ン ロ ー ド で き る。 次の コ マン ド 、
midl procdServ.idl
は、prodServ.tlb と い う 型 ラ イ ブ ラ リ を生成する 。 こ の ラ イ ブ ラ リ は、4-23 ページの 「regtlb」 で説明する と お り に登録す る必要があ る 。
フ ィ ールド 説明