サーバアプリケーションは、利用者からの停止要求を受けた場合、クライアントからの要求を以降受け付けない旨をORBに対して返します。サーバアプリケーションの利用者からの停止要求の方法およびアプリケーションでの停止要求の受信方法などは各ORBベンダーにより異なります。この命令が発行された時点で、ORBは、クライアントから要求されてもサーバアプリケーションに伝えず、クライアントへは例外が返ります。非活性化の方法は、サーバのタイプにより以下のように異なります。
サーバのタイプ | メソッド |
---|---|
shared server | CORBA-BOA-DEACTIVATE-IMPL |
unshared server | CORBA-BOA-DEACTIVATE-OBJ |
persistent server | CORBA-BOA-DEACTIVATE-IMPL |
CORBA-BOA-DEACTIVATE-IMPLでは、サーバアプリケーションのIMPLEMENTATIONREPオブジェクトをパラメタとして指定します。CORBA-BOA-DEACTIVATE-OBJでは、オブジェクトリファレンスをパラメタとして指定します。
* サーバの非活性化 CALL "CORBA-BOA-DEACTIVATE-IMPL" USING BOA IMPL ENV RET-VAL.
なお、ワークユニット運用している場合は、isstopwuコマンド/Interstage管理コンソールから停止操作が実行されることにより、クライアントからの要求を以降受け付けない旨をORBに対して通知します。そのため、アプリケーション側で非活性化用のメソッドを発行する必要はありません。
ワークユニット運用ではないCORBAアプリケーションの場合も、odcntlqueコマンドでサーバアプリケーションを終了する場合、アプリケーション側で非活性化用のメソッドを発行する必要はありません。