Module  java.corba

Interface ServantLocatorOperations

  • All Superinterfaces:
    ServantManagerOperations
    All Known Subinterfaces:
    ServantLocator
    所有已知实现类:
    _ServantLocatorStubServantLocatorPOA


    public interface ServantLocatorOperations
    extends ServantManagerOperations
    当POA具有NON_RETAIN策略时,它使用ServantLocator的servant管理器。 因为POA知道这位仆人经理返回的仆人只能用于一个请求,它可以为仆人经理的业务提供额外的信息,仆人经理的一对操作可能会合作做一些不同于ServantActivator的事情。 当POA使用ServantLocator接口,在对preinvoke返回的servant进行操作调用后,POA将在servant管理器上调用postinvoke,传递ObjectId值和Servant值作为参数(等等)。 此功能可用于强制与POA关联的对象的所有请求都由仆人管理器进行调解。
    • 方法详细信息

      • preinvoke

        Servant preinvoke​(byte[] oid,
                          POA adapter,
                          String operation,
                          CookieHolder the_cookie)
                   throws ForwardRequest
        此操作用于获取将用于处理引起preinvoke调用的请求的servant。
        参数
        oid - 与请求的对象相关联的对象标识。
        adapter - 对象被激活的POA的引用。
        operation - 操作名称。
        the_cookie - 在postinvoke中可以使用的servant manager可以设置的不透明值。
        结果
        仆人用于处理传入请求。
        异常
        ForwardRequest - 向ORB指示它负责将当前请求和后续请求传递给异常的forward_reference成员中指出的对象。
      • postinvoke

        void postinvoke​(byte[] oid,
                        POA adapter,
                        String operation,
                        Object the_cookie,
                        Servant the_servant)
        在服务器完成请求时调用此操作。
        参数
        oid - 与请求的对象 oid的对象标识。
        adapter - 对象活动的POA的引用。
        the_cookie - 包含由preinvoke设置的数据的不透明值。
        the_servant - 引用与对象关联的servant。