Hitachi

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


7.6.5 非アクティブな状態

POAマネージャが非アクティブな状態のときは,対応するPOAは入力リクエストをすべて拒否します。この状態は,対応するPOAを終了しようとするときに使用します。

POAの終了後にリクエストを送信すると,クライアント側でPortableServer::POA::AdapterNonExistent例外またはCORBA::OBJECT_NOT_EXIST例外が発生する場合があります。

非アクティブな状態のPOAマネージャは,ほかの状態には変更できません。

POAマネージャを非アクティブな状態に変更するには,次のように使用します。

void deactivate(in boolean etherealize_objects, in boolean
   wait_for_completion) raises (AdapterInactive);
C++の場合

状態変更後,etherealize_objectsがTRUEなら,ServantRetentionPolicy::RETAINとRequestProcessingPolicy::USE_SERVANT_MANAGERを設定した対応するすべてのPOAは,すべてのアクティブなオブジェクトに対してサーバントマネージャのetherealizeを呼び出します。etherealize_objectsがFALSEなら,etherealizeは呼び出されません。wait_for_completionオプションはBooleanです。FALSEなら,このオペレーションは状態を非アクティブな状態に変更後すぐにリターンします。TRUEなら,このオペレーションは,状態変更より前に開始されたリクエストがすべて完了した場合か,etherealizeが対応するすべてのPOA(ServantRetentionPolicy::RETAINとRequest ProcessingPolicy::USE_SERVANT_MANAGERを設定したPOA)で呼び出された場合だけリターンします。AdapterInactiveは,このオペレーションを呼び出す前にPOAマネージャが非アクティブな状態だった場合に発生する例外です。

Javaの場合

状態変更後,etherealize_objectsがTRUEなら,ServantRetentionPolicy.RETAINとRequestProcessingPolicy.USE_SERVANT_MANAGERを設定した対応するすべてのPOAは,すべてのアクティブなオブジェクトに対してサーバントマネージャのetherealizeを呼び出します。etherealize_objectsがFALSEなら,etherealizeは呼び出されません。wait_for_completionオプションはBooleanです。FALSEなら,このオペレーションは状態を非アクティブな状態に変更後すぐにリターンします。TRUEなら,このオペレーションは,状態変更より前に開始されたリクエストがすべて完了した場合か,etherealizeが対応するすべてのPOA(ServantRetentionPolicy.RETAINとRequest ProcessingPolicy.USE_SERVANT_MANAGERを設定したPOA)で呼び出された場合だけリターンします。AdapterInactiveは,このオペレーションを呼び出す前にPOAマネージャが非アクティブな状態だった場合に発生する例外です。