POAに関連付けられたPOAManagerのactivate()を発行することで、クライアントからの受信待ち状態となります。activate()発行直後に、ORBクラスのrun()メソッドを発行します。これにより、サーバアプリケーションは終了せず待機状態となります。
【POAManagerの活性化】
try { // POAマネージャのactivate rootPOA.the_POAManager().activate(); Orb.run(); } catch( java.lang.Exception e ) { ... // 例外処理 }
注意
動作上、activate()発行時に終了待機状態となるため、run()メソッドには制御は移りません。このため、run()メソッドは機能的には何も行いません。しかし、アプリケーションの可搬性の面からrun()メソッドを記述することを推奨します。
注意
以下の条件のとき、POAManagerのactivate()が復帰せずにサーバアプリケーションが終了します。
サーバアプリケーションをプロセスモードで作成している場合 かつ
サーバアプリケーションをCORBAワークユニット運用している場合 かつ
CORBAワークユニットを停止した場合
POAManagerのactivate()の後に後処理を行う場合は、サーバアプリケーションをスレッドモードで作成するか、またはワークユニットの出口機能を利用してください。ワークユニットの出口機能に関しては、“OLTPサーバ運用ガイド”の“ワークユニットの出口機能”を参照してください。