[ Java & CORBAページへ戻る ]


ORBを起動する

リモートオブジェクトを呼び出すには、少なくても1つのORBを初期化する必要があります。ORBとは、ネットワークをまたがってクライアントからサーバへのオペレーション(メソッド呼び出し)を取り計らってくれます。

CORBAのORB起動

org.omg.CORBAで提供されるORBクラスを利用します。

        org.omg.CORBA.ORB  orb = org.omg.CORBA.ORB.init(args, props);
引数のargsは、String[]型の変数で、アプリケーションのmain()で渡されるものをそのままセットすることが一般的です。nullはうまくないことがあるので、nullではなく長さ0の配列を作って入れます。propsは、java.util.Properties型の変数で、ORBの振る舞いを指定することができます。propsには特に指定が無い場合はnullを入れても良いです。
        org.omg.CORBA.ORB  orb = org.omg.CORBA.ORB.init(applet, props);

ORBオプション

よく使用すると思われる代表的なオプションを2,3挙げます。

書式
-ORBPort=ポート番号 -ORBPort=5566
書式
-ORBInitRef サービス名=<参照> -ORBInitRef NameService=corbaloc:iiop:1.2@host.domain:4567/NameService

Java 2内蔵のCORBAと切り替え

Java 2実行環境には、SunのCORBA標準実装が含まれています。そのため、サードパーティ製のCORBA実装を使用するときは、内蔵CORBAから切り替える必要があります。これには、Java実行環境のプロパティ設定を行います。

CORBA切り替えプロパティ設定
プロパティ名 意味
org.omg.CORBA.ORBClass
ORBクラス名を指定
org.omg.CORBA.ORBSingletonClass
ORBシングルトンクラス名を指定

コマンドライン指定

このプロパティを設定してJavaを(foo.bar.Hogeクラスを)実行するには、

>java -Dorg.omg.CORBA.ORBClass=org.openorb.CORBA.ORB 
  -Dorg.omg.CORBA.ORBSingletonClass=org.openorb.CORBA.ORBSingleton
  foo.bar.Hoge

のようにコマンドラインで-Dオプションを使って指定します。

プロパティファイル指定

下記のようにプロパティを設定するファイルorb.propertiesを作成し、Java実行環境のlibディレクトリに置きます。

orb.properties
org.omg.CORBA.ORBClass=org.openorb.CORBA.ORB
org.omg.CORBA.ORBSingletonClass=org.openorb.CORBA.ORBSingleton

JDK1.3.1の場合は、<JDK1.3.1インストールディレクトリ>\jre\libになります。
例:C:\jdk1.3.1\jre\lib
JRE1.3.1の場合は、<JRE1.3.1インストールディレクトリ>\libになります。
例:C:\Program Files\JavaSoft\JRE\1.3.1\lib


Naming Service指定

分散オブジェクトでは、リモートにあるオブジェクトの参照を取得しなければ意味がありません。参照を取得するには、Naming Service、Trading Service、自力で取得、といったようにいくつかの方法がありますが、ここではもっとも一般的なNaming Serviceを使用します。


[ Java & CORBAページへ戻る ]


This page is written by Toru TAKAHASHI.(torutk@02.246.ne.jp)