-
- すべてのスーパー・インタフェース:
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イニシャライザの内部から呼び出された場合にスローされる。
-
-