JavaTM 2 Platform
Standard Ed. 5.0

org.omg.PortableServer
クラス ServantLocatorPOA

java.lang.Object
  上位を拡張 org.omg.PortableServer.Servant
      上位を拡張 org.omg.PortableServer.ServantLocatorPOA
すべての実装されたインタフェース:
InvokeHandler, ServantLocatorOperations, ServantManagerOperations

public abstract class ServantLocatorPOA
extends Servant
implements ServantLocatorOperations, InvokeHandler

POA に NON_RETAIN ポリシーが指定されているときは、サーバントマネージャとして ServantLocator が使用されます。POA はこのサーバントマネージャが返すサーバントが 1 つの要求だけに使用されることを認識しているため、サーバントマネージャのオペレーションに補足情報を提供でき、サーバントマネージャのオペレーションのペアは連携して ServantActivator とは異なる処理を実行できる場合があります。POA が preinvoke によって返されたサーバントに対するオペレーション呼び出しを実行した直後に ServantLocator インタフェースを使用したときは、そのサーバントに対して postinvoke を呼び出し、特に ObjectId 値と Servant 値をパラメータとして渡します。この機能は、POA に関連付けられたオブジェクトの各要求が強制的にサーバントマネージャを介して行われるようにする場合に使用されます。


コンストラクタの概要
ServantLocatorPOA()
           
 
メソッドの概要
 String[] _all_interfaces(POA poa, byte[] objectId)
          ORB がサーバントから完全な型情報を取得するために使用します。
 OutputStream _invoke(String $method, InputStream in, ResponseHandler $rh)
          要求をサーバントにディスパッチするために、ORB によって呼び出されます。
 ServantLocator _this()
           
 ServantLocator _this(ORB orb)
           
 
クラス org.omg.PortableServer.Servant から継承されたメソッド
_default_POA, _get_delegate, _get_interface_def, _is_a, _non_existent, _object_id, _orb, _poa, _set_delegate, _this_object, _this_object
 
クラス java.lang.Object から継承されたメソッド
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 
インタフェース org.omg.PortableServer.ServantLocatorOperations から継承されたメソッド
postinvoke, preinvoke
 

コンストラクタの詳細

ServantLocatorPOA

public ServantLocatorPOA()
メソッドの詳細

_invoke

public OutputStream _invoke(String $method,
                            InputStream in,
                            ResponseHandler $rh)
インタフェース InvokeHandler の記述:
要求をサーバントにディスパッチするために、ORB によって呼び出されます。 ORB は、メソッド名、整列化された引数が格納されている InputStream、および適切な応答を構築するためにサーバントが使用する ResponseHandler を渡します。 このメソッドでは CORBA SystemException 例外だけがスローされます。 このメソッドは、整列化された応答を格納する ResponseHandler によって作成される OutputStream を返す必要があります。 サーバントは、メソッド呼び出しの有効期間内に ResponseHandler への参照を保持する必要があります。 サーバントの動作は、次のように定義されます。

1. 正しいメソッドを定義し、InputStream からのパラメータを非整列化する

2. メソッド実装を呼び出す

3. ユーザ例外がない場合、ResponseHandler を使用して通常の応答を作成する

4. ユーザ例外が発生した場合、ResponseHandler を使用して例外応答を作成する

5. ResponseHandler によって返された OutputStream に応答を整列化する

6. OutputStream を ORB へ返す

定義:
インタフェース InvokeHandler 内の _invoke
パラメータ:
$method - メソッド名
in - 整列化された引数を格納する InputStream
$rh - 適切な応答を作成するためにサーバントが使用する ResponseHandler
戻り値:
整列化された応答を格納する ResponseHandler によって作成される OutputStream

_all_interfaces

public String[] _all_interfaces(POA poa,
                                byte[] objectId)
クラス Servant の記述:
ORB がサーバントから完全な型情報を取得するために使用します。

定義:
クラス Servant 内の _all_interfaces
パラメータ:
poa - サーバントが関連付けられている POA
objectId - このサーバントに関連付けられたオブジェクトに対応する ID
戻り値:
このオブジェクトの型情報のリスト

_this

public ServantLocator _this()

_this

public ServantLocator _this(ORB orb)

JavaTM 2 Platform
Standard Ed. 5.0

バグの報告と機能のリクエスト
さらに詳しい API リファレンスおよび開発者ドキュメントについては、Java 2 SDK SE 開発者用ドキュメントを参照してください。開発者向けの詳細な解説、概念の概要、用語の定義、バグの回避策、およびコード実例が含まれています。

Copyright 2004 Sun Microsystems, Inc. All rights reserved. Use is subject to license terms. Documentation Redistribution Policy も参照してください。