Spec-Zone.ru › OpenJDK 8

Класс 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 знает, что слуга, возвращенная этим менеджером слуг, будет использована только для одного запроса, он может предоставить дополнительную информацию операциям менеджера слуг, и пара операций менеджера слуг может быть способна выполнить что-то другое, чем ServantActivator. Когда POA использует интерфейс ServantLocator, сразу после выполнения вызова операции на сервере, возвращенном preinvoke, POA вызовет 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. Метод должен вернуть поток OutputStream, созданный обработчиком ResponseHandler, который содержит сериализованный ответ. Слуга не должна сохранять ссылку на ResponseHandler после окончания вызова метода. Поведение сервера определено следующим образом:

1. Определить правильный метод и десериализовать параметры из InputStream.

2. Вызвать реализацию метода.

3. Если нет пользовательского исключения, создать нормальный ответ с помощью ResponseHandler.

4. Если произошло пользовательское исключение, создать ответ с исключением с помощью ResponseHandler.

5. Сериализовать ответ в OutputStream, возвращенном ResponseHandler.

6. Вернуть OutputStream в ORB.

Определено в:
_invoke в интерфейсе InvokeHandler
Параметры:
$method - Имя метода.
in - InputStream содержащий сериализованные аргументы.
$rh - ResponseHandler, который слуга использует для построения соответствующего ответа
Возвращает:
OutputStream созданный обработчиком ResponseHandler, который содержит сериализованный ответ

_all_interfaces

public String[] _all_interfaces(POA poa,
                                byte[] objectId)

Описание скопировано из класса: Servant

Используется ORB для получения полной информации о типе от сервера.

Определено в:
_all_interfaces в классе Servant
Параметры:
poa - POA, с которым связан сервер.
objectId - идентификатор, соответствующий объекту, связанному с этим сервером.
Возвращает:
Список информации о типах для объекта.

_this

public ServantLocator _this()

_this

public ServantLocator _this(ORB orb)

© 1993, 2020, Oracle and/or its affiliates. All rights reserved.
Documentation extracted from Debian's OpenJDK Development Kit package.
Licensed under the GNU General Public License, version 2, with the Classpath Exception.
Various third party code in OpenJDK is licensed under different licenses (see Debian package).
Java and OpenJDK are trademarks or registered trademarks of Oracle and/or its affiliates.

Spec-Zone.ru

Настройки Оффлайн Что нового Помощь О нас
Spec-Zone .ru
спецификации, руководства, описания, API