Borland(R) Enterprise Server VisiBroker(R) デベロッパーズガイド

[目次][索引][前へ][次へ]

10.2.1 バインドプロセス中に行われる動作

サーバプログラムがcreate_POA()を実行すると,生成したPOAがスマートエージェントに登録されます。

この状態で,クライアントプログラムが静的bind()メソッドを呼び出した場合,VisiBroker ORBはプログラムのために幾つかの機能を実行し,スマートエージェントからオブジェクトインプリメンテーションの位置情報を得られます。クライアントとスマートエージェントの相互動作を図10-1に示します。

クライアントプログラムがサーバクラスのコンストラクタを呼び出すことはありません。その代わり,静的_bind()メソッド(C++),または静的bind()メソッド(Java)呼び出しによってオブジェクトリファレンスを取得できます。

コードサンプル10-3 バインド呼び出しの例(C++)
 
. . .
PortableServer::ObjectId_var manager_id = 
   PortableServer::string_to_ObjectId("BankManager");
Bank::AccountManager_var = 
   Bank::AccountManager::_bind("/bank_agent_poa", manager_id);
. . .
 

コードサンプル10-4 バインド呼び出しの例(Java)
 
. . .
Bank.AccountManager manager =
   Bank.AccountManagerHelper.bind(orb,
               "/bank_agent_poa", "BankManager".getBytes());
. . .