-
- すべてのスーパー・インタフェース:
CurrentOperations
- 既知のすべてのサブインタフェース:
Current
public interface CurrentOperations extends CurrentOperations
Portable Interceptors Current (PICurrentとも呼ばれる)は、単なるスロット・テーブルにすぎません。各サービスは、このスロット・テーブルのスロットを使って、そのコンテキストと要求/応答のサービス・コンテキストとの間でコンテキスト・データをやりとりします。 PICurrentを使用する各サービスは、初期化時に1つ以上のスロットを保持し、要求や応答の処理時にそれらのスロットを使用します。PICurrentは、呼出しが行われる前に、
ORB.resolve_initial_references("PICurrent")の呼出しを介して取得されます。 スレッド・スコープからリクエスト・スコープに移動したPICurrentのデータは、遮断点の内部から、RequestInfoオブジェクトに対するget_slotオペレーションを介して利用できます。 PICurrentは引き続きresolve_initial_referencesを介して取得できますが、それはインタセプタのスレッド・スコープのPICurrentとなります。
-
-
メソッドの詳細
-
get_slot
Any get_slot(int id) throws InvalidSlot
アプリケーションによってPICurrentに設定されたスロット・データを、get_slotを介して取り出します。 データの形式はAnyです。指定されたスロットが設定されていない場合は、
TCKind値がtk_nullに設定された値のない型コードを含むAnyが返されます。- パラメータ:
id- 返されるデータが格納されているスロットのSlotId。- 戻り値:
- 指定されたスロットIDのAny形式のデータ。
- 例外:
InvalidSlot- 割り当てられていないスロットでget_slotが呼び出された場合にスローされる。BAD_INV_ORDER-get_slotがORBイニシャライザの内部から呼び出された場合にスローされる
-
set_slot
void set_slot(int id, Any data) throws InvalidSlotデータをスロットに設定します。 データの形式はAnyです。 そのスロットにデータがすでに存在する場合は、オーバーライドされます。- パラメータ:
id- データが設定されるスロットのSlotId。data- 識別されたスロットに設定されるAny形式のデータ。- 例外:
InvalidSlot- 割り当てられていないスロットでset_slotが呼び出された場合にスローされる。BAD_INV_ORDER-set_slotがORBイニシャライザの内部から呼び出された場合にスローされる。
-
-