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 这种 servant 管理器。因为 POA 了解此 servant 管理器返回的 servant 只用于单个请求,所以它可以向 servant 管理器的操作提供额外的信息,从而一对该 servant 管理器的操作也许能共同执行某些不同于 ServantActivator 的操作。POA 使用 ServantLocator 接口时,对 preinvoke 返回的 servant 调用该操作后,POA 将立即对 servant 管理器调用 postinvoke,同时将 ObjectId 值和 Servant 值(及其他值)作为参数传递。servant 管理器可以使用这一功能来强制调停每个对关联 POA 的对象的请求。


构造方法摘要
ServantLocatorPOA()
           
 
方法摘要
 String[] _all_interfaces(POA poa, byte[] objectId)
          ORB 使用此操作从 servant 获取完整的类型信息。
 OutputStream _invoke(String $method, InputStream in, ResponseHandler $rh)
          由 ORB 调用来调度对 servant 的请求。
 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 调用来调度对 servant 的请求。 ORB 传递方法名称、包含编组参数的 InputStream,以及 servant 用来构造恰当应答的 ResponseHandler。 此方法只可能抛出 CORBA SystemException。 该方法必须返回包含已编组应答的 ResponseHandler 所创建的 OutputStream。 在方法调用的生存期外,servant 必须仍然保留一个对 ResponseHandler 的引用。 Servant 的行为定义如下:

1. 确定正确的方法和 InputStream 中的已解组参数。

2. 调用方法实现。

3. 如果没有任何用户异常,则使用 ResponseHandler 创建一个正常应答。

4. 如果发生用户异常,则使用 ResponseHandler 创建异常。

5. ResponseHandler 将编组应答返回到 OutputStream。

6. 将 OutputStream 返回到 ORB。

指定者:
接口 InvokeHandler 中的 _invoke
参数:
$method - 方法名称。
in - 包含已编组参数的 InputStream
$rh - servant 用来构造正确应答的 ResponseHandler
返回:
包含已编组应答的 ResponseHandler 所创建的 OutputStream

_all_interfaces

public String[] _all_interfaces(POA poa,
                                byte[] objectId)
从类 Servant 复制的描述
ORB 使用此操作从 servant 获取完整的类型信息。

指定者:
Servant 中的 _all_interfaces
参数:
poa - 与 servant 关联的 POA。
objectId - 对应于与此 servant 关联的对象的 id。
返回:
对象类型信息列表。

_this

public ServantLocator _this()

_this

public ServantLocator _this(ORB orb)

JavaTM 2 Platform
Standard Ed. 5.0

提交错误或意见
有关更多的 API 参考资料和开发人员文档,请参阅 Java 2 SDK SE 开发人员文档。该文档包含更详细的、面向开发人员的描述,以及总体概述、术语定义、使用技巧和工作代码示例。

版权所有 2004 Sun Microsystems, Inc. 保留所有权利。 请遵守许可证条款。另请参阅文档重新分发政策