10.3.2 ClientRequestInterceptorのメソッド
-
ClientRequestInfo ri)
throws
ForwardRequest;
このインタセプトポイントを使用すると,リクエストがサーバに送信される前に,リクエスト情報の照会とサーバコンテキストの修正が,インタセプタでできます。
このインタセプトポイントではシステム例外が発生する場合があります。システム例外が発生した場合,ほかのインタセプタのsend_request()インタセプトポイントは呼び出されません。フロースタックからインタセプタが取り出され,そのインタセプタのインタセプトポイントが呼び出されます。
このインタセプトポイントでは,ForwardRequest例外を発生させることができます。インタセプトでこの例外が発生した場合,ほかのインタセプタのsend_requestメソッドは呼び出されません。フロースタックからインタセプタが取り出され,そのインタセプタのreceive_other()インタセプトポイントが呼び出されます。ForwardRequest例外については,「10.8 ForwardRequest」を参照してください。
-
ri
インタセプタが使用するClientRequestInfoインスタンス
-
-
public void send_poll(
ClientRequestInfo ri);
このインタセプトポイントを使用すると,時間非依存呼び出し(TII)によるポーリングget replyシーケンス中に,インタセプタで情報を照会できます。
ただし,VisiBroker ORBはTIIに対応していないため,このsend_poll()インタセプトポイントが呼び出されることはありません。
-
ri
インタセプタが使用するClientRequestInfoインスタンス
-
-
ClientRequestInfo ri);
このインタセプトポイントを使用すると,サーバから応答が返されてから,制御がクライアントに戻るまでの間に,インタセプタで応答の情報を照会できます。
このインタセプトポイントでは,システム例外が発生する場合があります。システム例外が発生した場合,ほかのインタセプタのreceive_reply()メソッドは呼び出されません。フロースタックからインタセプタが取り出され,そのインタセプタのreceive_exception()インタセプトポイントが呼び出されます。
-
ri
インタセプタが使用するClientRequestInfoインスタンス
-
-
public void receive_exception(
ClientRequestInfo ri)
throws
ForwardRequest;
このインタセプトポイントは例外が発生したときに呼び出されます。これによって,例外の情報がクライアントに通知される前にインタセプタで例外の情報を照会できます。
このインタセプトポイントでは,システム例外が発生する場合があります。システム例外が発生した場合は,フロースタックから取り出された一連のインタセプタが,receive_exception()呼び出し時に受け取る例外が変更されます。クライアントに通知される例外は,インタセプタが通知する最後の例外です。ほかのインタセプタが例外を変更しなければ,元の例外が通知されます。
また,このインタセプトポイントでは,ForwardRequest例外を発生させることができます。インタセプタでこの例外が発生した場合,ほかのインタセプタのreceive_exception()インタセプトポイントは呼び出されません。フロースタックからインタセプタが取り出され,そのインタセプタのreceive_other()インタセプトポイントが呼び出されます。ForwardRequest例外については,「10.8 ForwardRequest」を参照してください。
-
ri
インタセプタが使用するClientRequestInfoインスタンス
-
-
ClientRequestInfo ri)
throws
ForwardRequest;
このインタセプトポイントを使用すると,リクエストの結果が,正常な応答でも例外でもない場合に使用できる情報をインタセプタで照会できます。それは,リクエストがリトライになる場合(例えば,LOCATION_FORWARD状態でGIOP Replyを受信した場合)や,非同期呼び出し時にリクエストの直後に応答が返されないで,制御がクライアントに戻って終了インタセプトポイントが呼び出される場合などです。
リクエストがリトライになる場合は,適用されているポリシーによって,リトライ指示直後に新しいリクエストが発行されるときと発行されないときがあります。新しいリクエストが発行されるときは,このリクエストが新しいリクエストである間は,インタセプタに関して,元のリクエストとリトライとの間に相関性があります。制御がクライアントに戻らないため,リクエストをスコープとするCurrentは,元のリクエストの場合もリトライリクエストの場合も同一です。詳細については,「10.12 IORInterceptor」を参照してください。
このインタセプトポイントでは,システム例外が発生する場合があります。システム例外が発生した場合,ほかのインタセプタのreceive_other()インタセプトポイントは呼び出されません。フロースタックからインタセプタが取り出され,そのインタセプタのreceive_exception()インタセプトポイントが呼び出されます。
また,このインタセプトポイントでは,ForwardRequest例外を発生させることができます。インタセプタがこの例外を出力した場合,ForwardRequest例外が提供する新しい情報で一連のインタセプタのreceive_other()メソッドが呼び出されます。
-
ri
インタセプタが使用するClientRequestInfoインスタンス
-