orbd [ options ]
options
orbdコマンドを使用すると、CORBA環境のサーバーにある永続オブジェクトをクライアントから透過的に検索して呼び出すことができます。orbdツールに含まれるサーバー・マネージャを使用すると、クライアントはCORBA環境でサーバー上にある永続オブジェクトを透過的に検索して呼び出すことができます。永続サーバーは、ネーミング・サービスに永続オブジェクト参照を発行する際、サーバーのポート番号のかわりにORBDのポート番号をオブジェクト参照に含めます。永続オブジェクト参照のオブジェクト参照にORBDポート番号を含めることには、次のような利点があります。
ORBDのサーバー・マネージャにアクセスするには、servertoolを使用してサーバーを起動する必要があります。servertoolは、アプリケーション・プログラマが、永続サーバーの登録、登録解除、起動および停止を行うためのコマンド行インタフェースです。サーバー・マネージャの詳細は、サーバー・マネージャを参照してください。
orbdを起動すると、ネーミング・サービスも起動されます。ネーミング・サービスの詳細。ネーミング・サービスの起動と停止を参照してください。
-ORBInitialPort nameserverport
-port port
-defaultdb directory
-serverPollingTime milliseconds
-serverStartupDelay milliseconds
-Joption
ネーミング・サービスは、CORBAオブジェクトにネーミングを可能にするCORBAサービスです。ネーミングは名前をオブジェクト参照にバインドすることにより可能になります。ネーム・バインディングをネーミング・サービスに格納すれば、クライアントが名前を指定して目的のオブジェクト参照を取得できるようになります。
クライアントまたはサーバーを実行する前に、ORBDを起動します。ORBDには、永続ネーミング・サービスおよび一時ネーミング・サービスが組み込まれています。これらはどちらもCOSネーミング・サービスの実装です。
永続ネーミング・サービスは、ネーミング・コンテキストに対して永続性を提供します。つまり、この情報は、サービスの停止や起動後にも維持され、サービスに障害が発生した場合でも回復できます。ORBDを再起動すると、永続ネーミング・サービスはネーミング・コンテキストのグラフを復元し、すべてのクライアントとサーバーの名前のバインディングがそのまま(永続的に)保持されるようにします。
後方互換性のため、旧リリースのJDKに同梱されていた一時ネーミング・サービスtnameservが、今回のリリースのJava SEにも同梱されています。一時ネーム・サービスでは、ネーム・サービスの実行中にのみネーミング・コンテキストが保持されます。サービスが中断されると、ネーミング・コンテキスト・グラフは失われます。
-ORBInitialPort引数は、orbdの必須のコマンド行引数で、ネーミング・サービスが実行されるポートの番号を設定するために使用されます。次の手順では、Java IDL Object Request Broker Daemon用にポート1050を使用できることを前提としています。Oracle Solarisソフトウェアを使用する場合、1024より小さいポートでプロセスを開始するには、rootユーザーになる必要があります。このため、1024以上のポート番号を使用することをお薦めします。必要であれば別のポートに変更してください。
Solaris、LinuxまたはOS Xコマンド・シェルからorbdを開始するには、次のように入力します。
orbd -ORBInitialPort 1050&
WindowsのMS-DOSシステム・プロンプトでは、次のように入力します。
start orbd -ORBInitialPort 1050
これでORBDが実行され、サーバーとクライアントのアプリケーションを実行できるようになります。クライアントとサーバーのアプリケーションは、実行時に、ネーミング・サービスが実行されているポートの番号(必要な場合はさらにマシン名)を認識している必要があります。これを実現する1つの方法は、次のコードをアプリケーションに追加することです。
Properties props = new Properties(); props.put("org.omg.CORBA.ORBInitialPort", "1050"); props.put("org.omg.CORBA.ORBInitialHost", "MyHost"); ORB orb = ORB.init(args, props);
この例では、ネーミング・サービスは、ホストMyHostのポート1050上で実行されます。別の方法として、コマンド行からサーバーまたはクライアントのアプリケーションを実行するときに、ポート番号またはマシン名あるいはその両方を指定する方法もあります。たとえば、次のコマンド行オプションを使用して、HelloApplicationを起動できます。
java HelloApplication -ORBInitialPort 1050 -ORBInitialHost MyHost
ネーミング・サービスを停止するには、適切なオペレーティング・システム・コマンドを使用します。たとえば、Oracle Solaris上でpkill orbdを実行したり、orbdが動作中のDOSウィンドウで[Ctrl]+[C]キーを押します。一時ネーミング・サービスの場合は、サービスが終了されると、ネーミング・サービスに登録された名前が消去される場合があります。Java IDLネーム・サービスは、明示的に停止されるまで実行されます。
ORBDに付属するネーミング・サービスの詳細は、 http://docs.oracle.com/javase/8/docs/technotes/guides/idl/jidlNaming.htmlの「Naming Service」を参照してください
ORBDのサーバー・マネージャにアクセスして、永続サーバーを実行するには、servertoolを使用してサーバーを起動する必要があります。servertoolは、アプリケーション・プログラマが、永続サーバーの登録、登録解除、起動および停止を行うためのコマンド行インタフェースです。servertoolを使用してサーバーを起動する場合は、orbdが実行されている場所と同じポートとホストで起動する必要があります。サーバーを異なるポートで実行すると、ローカル・コンテキスト用にデータベースに保存されている情報が無効になり、サービスが正しく動作しません。
http://docs.oracle.com/javase/8/docs/technotes/guides/idl/jidlExample.htmlの 「Java IDL: The "Hello World" Example」を参照してください
この例では、チュートリアルの手順に従ってidljコンパイラとjavacコンパイラを実行します。ORBDのサーバー・マネージャを実行するには、次の手順に従ってアプリケーションを実行します。
orbdを起動します。
Solaris、LinuxまたはOS Xコマンド・シェルで、次のように入力します: orbd -ORBInitialPort 1050
MS-DOSシステム・プロンプト(Windows)で次のように入力します: start orbd -ORBInitialPort 1050
ポート1050はネーム・サーバーを実行するポートです。-ORBInitialPortオプションは必須コマンド行引数です。Oracle Solarisソフトウェアを使用する場合、1024より小さいポートでプロセスを開始するには、rootユーザーになる必要があります。このため、1024以上のポート番号を使用することをお薦めします。
servertoolを起動します: servertool -ORBInitialPort 1050。
前回の手順とネーム・サーバー(orbd)のポートが同じであることを確認します。たとえば-ORBInitialPort 1050.のようになります。servertoolは、ネーム・サーバーと同じポート上で起動する必要があります。
servertoolコマンド行インタフェースで、servertoolプロンプトからHelloサーバーを起動します。
servertool > register -server HelloServer -classpath . -applicationName HelloServerApName
servertoolによってサーバーが登録されて、HelloServerApNameという名前がサーバーに割り当てられ、登録されているすべてのサーバー一覧とともにサーバーIDが表示されます。他の端末ウィンドウまたはプロンプトからクライアント・アプリケーションを実行します。
java HelloClient -ORBInitialPort 1050 -ORBInitialHost localhost
この例の-ORBInitialHost localhostは省略することができます。ネーム・サーバーがHelloクライアントとして同一ホスト上で動作しているからです。ネーム・サーバーが別のホストで実行されている場合は、-ORBInitialHost nameserverhostオプションを使用してIDLネーム・サーバーが実行されているホストを指定します。前の手順で行われたとおりにネーム・サーバー(orbd)ポートを指定します(例: -ORBInitialPort 1050)。ORBDのサーバー・マネージャの操作が終了したら、ネーム・サーバー(orbd)とservertoolを停止するか終了してください。MS-DOSプロンプトでorbdをシャットダウンするには、サーバーを実行しているウィンドウを選択して[Ctrl]+[C]キーを押します。
Oracle Solarisからorbdをシャットダウンするには、プロセスを検索して、killコマンドで終了します。サーバーを明示的に停止するまでは、呼出し待機状態が続きます。servertoolをシャットダウンするには、quitと入力してキーボードの[Enter]キーを押します。