サーバントロケータの使用


サーバントロケータとは

アプリケーション開発者は、新しい POA を作成するときに、新しい POA 用に選択した特定のポリシーを宣言し、異なるアダプタアクティベータおよびサーバントマネージャー (これらは、必要時の POA の起動とサーバントの起動を行うために POA が使用するコールバックオブジェクト) を提供できます。オブジェクト ID は POA に対して相対的に解釈されるため、アプリケーション開発者は、新しい POA を作成することによってさらにオブジェクトの名前空間の区分けも行うことができます。また、新しい POA を作成すると、開発者は、複数のオブジェクトのセットに対する要求の処理を個別に制御できます。

サーバントアクティベータは、サーバントマネージャーの 1 つの型です。サーバントマネージャーはオプションです。サーバントマネージャーを使用すると、POA が、無効なオブジェクトに対する要求を受け取ったときに、必要なサーバントを起動できるようになります。サーバーが起動時にすべてのオブジェクトをロードする場合は、サーバントマネージャーは必要ありません。

サーバントマネージャー は、アプリケーション開発者が POA と関連付けることができるコールバックオブジェクトです。ORB はサーバントマネージャーのオペレーションを呼び出して、必要に応じてサーバントを起動したり停止したりします。サーバントマネージャーには、オブジェクト ID 値で特徴づけられるオブジェクト参照と特定のサーバントの関連を管理し、オブジェクト参照が存在するかどうかを決定する機能があります。各型のサーバントマネージャーは 2 つのオペレーションを実行できます。1 つはサーバントを見つけて返すためのオペレーションで、もう 1 つはサーバントを停止するためのオペレーションです。オペレーションは、その状況で使用できる情報の量によって異なります。

サーバントマネージャーを使用するには、USE_SERVANT_MANAGER ポリシーを設定する必要があります。このポリシーを設定すると、POA 内のほかのポリシーに応じて、特定の状況で使用されるサーバントマネージャーの型が決まります。サーバントマネージャーには次の 2 つの型があります。

サーバントロケータの使用例 ** 作成中です。

後日、更新版をチェックしてください。

次のコードは、POA が一時オブジェクトを起動できるようにするために、サーバントロケータを使用するアプリケーションの例を示しています。このアプリケーションは、「Hello World」の例を基にして作成したものです。参考用に、次のファイルが含まれています。


Client.java



Server.java



Hello.idl



HelloImpl.java



Makefile



runSample



サーバントアクティベータのアプリケーション例の実行

この例を実行するには、次のようにします。

  1. 上で説明したコードを使用してファイルを作成します。
  2. runSample に示されているとおりに、例を実行します。

端末ウィンドウに次の例のような出力が表示されます。



関連情報

サーバントロケータの詳細については、CORBA 2.3.1 仕様のサーバントマネージャーに関するセクション (セクション 11.3.4) を参照してください。


Java IDL トップへ