ページの先頭行へ戻る
Interstage Application Server アプリケーション作成ガイド(CORBAサービス編)

11.2.3 オブジェクトとインスタンスの関係

  サーバプロセス内ではCORBAオブジェクトとC++インスタンスの対応関係は1:1となります。そのため、同じオブジェクトを複数クライアントで共用する場合、サーバ側のC++インスタンスは同一のものが使用されます。

  サーバ側のC++インスタンスはオブジェクトを使用した初回アクセス時にメソッド呼び出し直前で作成され、以下の条件の時に解放されます。

  CORBA::ORB::unbind_object()を発行した場合、以下のタイミングでインスタンスは解放されます。

  1. スケルトンからの復帰後、かつ

  2. 該当のインスタンスに対してクライアントからのアクセスが行われていない

  例えば、CORBA::ORB::unbind_object()が発行された時点で複数クライアントから該当インスタンスにアクセスがあった場合、最後のクライアントアクセス後にスケルトンから復帰した直後にインスタンスが解放されます。


注意事項

  セション継続用オブジェクトに対応するインスタンスが解放された後に、クライアントからセション継続用オブジェクトを使用したアクセスが行われた場合、オブジェクトのインタフェースがCORBA::ORB::set_unbinded_object_rejecting()で登録されているか否かで動作が異なります。