Borland(R) Enterprise Server VisiBroker(R) プログラマーズリファレンス
- void activate();
このメソッドは,POAマネージャの状態を「アクティブ」に変更します。POAマネージャに対応づけられているすべてのPOAは,リクエストの処理が可能な状態となります。POAマネージャが「非アクティブ」状態のときにこのメソッドを呼び出すと,AdapterInactive例外が発生します。
- void deactivate(
CORBA::Boolean _etherealize_objects,
CORBA::Boolean _wait_for_completion);
このメソッドは,POAマネージャの状態を「非アクティブ」に変更します。POAマネージャが「非アクティブ」状態のときは,対応づけられているすべてのPOAは,新規リクエストを含む実行開始前のリクエストを拒絶します。状態変更後の動作は,_etherealize_objectsパラメタの設定値によって次のようになります。
- 設定値がTRUEの場合,POAマネージャは,対応するサーバントマネージャで,RETAINポリシーとUSE_SERVANT_MANAGERポリシーが,すべてのアクティブオブジェクトに対するetherealizeオペレーションをPOAに実行させます。
- 設定値がFALSEの場合,etherealizeオペレーションを呼び出しません。この目的は,回復不能エラーなどの危機発生時にPOAをシャットダウンする手段を開発者に提供することです。
_wait_for_completionパラメタがFALSEの場合,このオペレーションは状態変更直後にリターンします。このパラメタがTRUEの場合で,該当するPOAと同じVisiBroker ORBに属するほかのPOAがディスパッチした呼び出しコンテキスト内に,カレントスレッドがないときは,このオペレーションは,該当するPOAマネージャに対応するすべてのPOAから,アクティブに実行中のリクエストがなくなるまで(つまり状態変更前に開始されたリクエストがすべて完了するまで),リターンしません。また,_etherealize_objectsパラメタがTRUEの場合,このオペレーションはRETAINポリシーとUSE_SERVANT_MANAGERポリシーがあるすべてのPOAに対するetherealizeの呼び出しが完了するまでリターンしません。このパラメタがTRUEの場合で,該当するPOAと同じVisiBroker ORBに属するほかのPOAがディスパッチした呼び出しコンテキスト内に,カレントスレッドがあるときは,BAD_INV_ORDER例外が発生し状態は変わりません。
- void discard_requests(
CORBA::Boolean _wait_for_completion);
このメソッドは,POAマネージャの状態を「破棄」に変更します。POAマネージャが「破棄」状態のときは,対応づけられているすべてのPOAは,到着したリクエストを破棄します。また,キューの中で実行待ち状態にあるリクエストも破棄されます。リクエストが破棄されると,個々のリクエストを発行したクライアントにそれぞれ,TRANSIENTシステム例外が返されます。POAマネージャが「非アクティブ」状態のときにこのメソッドを呼び出すと,AdapterInactive例外が発生します。
_wait_for_completionパラメタがFALSEの場合,このオペレーションは状態変更直後にリターンします。このパラメタがTRUEの場合で,該当するPOAと同じVisiBroker ORBに属するほかのPOAがディスパッチした呼び出しコンテキスト内に,カレントスレッドがないときは,このオペレーションは該当するPOAマネージャに対応するすべてのPOAから,アクティブに実行中のリクエストがなくなるまで(つまり状態変更前に開始されたリクエストがすべて完了するまで),またはPOAマネージャの状態が「破棄」以外の状態に変更されるまで,リターンしません。このパラメタがTRUEの場合で,該当するPOAと同じVisiBroker ORBに属するほかのPOAがディスパッチした呼び出しコンテキスト内に,カレントスレッドがあるときは,BAD_INV_ORDER例外が発生し,状態は変わりません。
- void hold_requests(
CORBA::Boolean _wait_for_completion);
このメソッドは,POAマネージャの状態を「待機中」に変更します。POAマネージャが「待機中」状態のときは,対応づけられているすべてのPOAは,到着したリクエストをキューに保存します。このメソッドでPOAマネージャを「待機中」状態にする前からキューの中で実行待ち状態にあったリクエストは,継続してキューの中で実行を待ちます。POAマネージャが「非アクティブ」状態のときにこのメソッドを呼び出すと,AdapterInactive例外が発生します。
_wait_for_completionパラメタがFALSEの場合,このオペレーションは状態変更直後にリターンします。このパラメタがTRUEの場合で,該当するPOAと同じVisiBroker ORBに属するほかのPOAがディスパッチした呼び出しコンテキスト内に,カレントスレッドがないときは,このオペレーションは該当するPOAマネージャに対応するすべてのPOAから,アクティブに実行中のリクエストがなくなるまで(つまり状態変更前に開始されたリクエストがすべて完了するまで),リターンしません。
- PortableServer::POAManager::State get_state();
このメソッドはPOAmanagerの状態を返します。
All Rights Reserved. Copyright (C) 2012, 2015, Hitachi, Ltd.
COPYRIGHT (C) 1992-2004 Borland Software Corporation. All rights reserved.