JavaTM Platform
Standard Ed. 6

org.omg.PortableServer
接口 ServantLocatorOperations

所有超级接口:
ServantManagerOperations
所有已知子接口:
ServantLocator
所有已知实现类:
_ServantLocatorStub, ServantLocatorPOA

public interface ServantLocatorOperations
extends ServantManagerOperations

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


方法摘要
 void postinvoke(byte[] oid, POA adapter, String operation, Object the_cookie, Servant the_servant)
          servant 完成请求时都将调用此操作。
 Servant preinvoke(byte[] oid, POA adapter, String operation, CookieHolder the_cookie)
          此操作用来获取一个 servant,该 servant 将用来处理导致预调用 preinvoke 的请求。
 

方法详细信息

preinvoke

Servant preinvoke(byte[] oid,
                  POA adapter,
                  String operation,
                  CookieHolder the_cookie)
                  throws ForwardRequest
此操作用来获取一个 servant,该 servant 将用来处理导致预调用 preinvoke 的请求。

参数:
oid - 关联所请求对象的对象 Id。
adapter - 将激活对象的 POA 的引用。
operation - 操作名称。
the_cookie - 一个不透明值,可由调用 postinvoke 期间使用的 servant 管理器设置。
返回:
用来处理传入请求的 Servant。
抛出:
ForwardRequest - 指示 ORB 负责将当前请求和后续请求传递给异常的向前引用 (forward_reference) 成员所表示的对象。

postinvoke

void postinvoke(byte[] oid,
                POA adapter,
                String operation,
                Object the_cookie,
                Servant the_servant)
servant 完成请求时都将调用此操作。

参数:
oid - 关联所请求对象的对象 Id。
adapter - 已激活对象的 POA 的引用。
the_cookie - 一个包含 preinvoke 设置的数据的透明值。
the_servant - 对关联对象的 servant 的引用。

JavaTM Platform
Standard Ed. 6

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

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