Java Platform, Standard Editionツール・リファレンス
目次      

orbd

クライアントがCORBA環境内のサーバーにある持続オブジェクトを検索して呼び出すことができます。

形式

orbd [ options ]

options

コマンド行オプション。「オプション」を参照してください。

説明

orbdコマンドを使用すると、クライアントがCORBA環境内のサーバーにある持続オブジェクトを検索して呼び出すことができます。orbdツールに含まれるサーバー・マネージャを使用すると、クライアントはCORBA環境でサーバー上にある持続オブジェクトを透過的に検索して呼び出すことができます。持続サーバーは、ネーム・サービスに持続オブジェクト参照を発行する際に、サーバーのポート番号の代わりにORBDのポート番号をオブジェクト参照に含めます。永続オブジェクト参照のオブジェクト参照にORBDポート番号を含めることには、次のような利点があります。

  • ネーム・サービスにあるオブジェクト参照が、サーバーのライフ・タイムと無関係になる。たとえば、オブジェクト参照は、ネーム・サービスのサーバーが初めてインストールされたときはそのサーバーによって発行されますが、その後は、サーバーの開始またはシャットダウンの回数にかかわらず、ORBDがいつでも呼び出したクライアントに正しいオブジェクト参照を返します。

  • クライアントは一度だけネーミング・サービスのオブジェクト参照をルックアップする必要があるが、その後はサーバーのライフ・タイムによる変更とは無関係にこの参照を利用することができる。

ORBDのサーバー・マネージャにアクセスするには、servertoolを使用してサーバーを起動する必要があります。servertoolは、アプリケーション・プログラマが、持続サーバーの登録、登録解除、起動およびシャットダウンを行うためのコマンド行インタフェースです。サーバー・マネージャの詳細は、「サーバー・マネージャ」を参照してください。

orbdを起動すると、ネーム・サービスも起動されます。ネーム・サービスの詳細は、「ネーム・サービスの起動と停止」を参照してください。

オプション

-ORBInitialPort nameserverport

必須です。ネーム・サーバーを起動するポートの番号を指定します。orbdは、起動されると、このポート上で着信要求を待機します。Oracle Solarisソフトウェアでは、1024より小さいポート上でプロセスを開始するには、rootユーザーになる必要があります。このため、1024以上のポート番号を使用することをお薦めします。

必須ではないオプション

-port port

ORBDを起動するポートを指定します。ORBDは、このポートで、持続オブジェクトに対する要求を受け取ります。このポートのデフォルト値は1049です。このポート番号は、持続Interoperable Object References (IOR)のポート・フィールドに追加されます。

-defaultdb directory

ORBD持続格納ディレクトリorb.dbが作成されるベース・ディレクトリを指定します。このオプションが指定されていない場合、デフォルト値は./orb.dbとなります。

-serverPollingTime milliseconds

servertoolを使用して登録された持続サーバーが正常に動作していることをORBDが確認する回数を指定します。デフォルト値は1000ミリ秒です。millisecondsに指定する値は、有効な正の整数である必要があります。

-serverStartupDelay milliseconds

servertoolを使用して登録された持続サーバーを再起動してから、位置転送の例外を送信するまでのORBDの待機時間を指定します。デフォルト値は1000ミリ秒です。millisecondsに指定する値は、有効な正の整数である必要があります。

-Joption

Java仮想マシンにoptionを渡します(optionは、Javaアプリケーション起動ツールのリファレンス・ページに記載されているいずれかのオプション)。たとえば、-J-Xms48mと指定すると、スタートアップ・メモリーは48Mバイトに設定されます。java(1)を参照してください。

ネーム・サービスの起動と停止

ネーム・サービスは、名前をオブジェクト参照にバインドすることで、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/jp/8/technotes/guides/idl/jidlNaming.html

サーバー・マネージャ

ORBDのサーバー・マネージャにアクセスして持続サーバーを実行するには、servertoolを使用してサーバーを起動する必要があります。servertoolは、アプリケーション・プログラマが、持続サーバーの登録、登録解除、起動およびシャットダウンを行うためのコマンド行インタフェースです。servertoolを使用してサーバーを起動する場合は、orbdが実行されている場所と同じポートとホストで起動する必要があります。サーバーを異なるポートで実行すると、ローカル・コンテキスト用にデータベースに格納されている情報が無効になり、サービスが正しく動作しません。

「Java IDL: 「Hello World」の例」を参照してください。
http://docs.oracle.com/javase/jp/8/technotes/guides/idl/jidlExample.html

この例では、チュートリアルの手順に従って、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キーを押します。

関連項目

目次      

Copyright © 1993, 2020, Oracle and/or its affiliates. All rights reserved.