Интерфейс InvokeHandler
- Все известные подинтерфейсы:
- Tie
- Все известные реализующие классы:
- BindingIteratorPOA, NamingContextExtPOA, NamingContextPOA, ServantActivatorPOA, ServantLocatorPOA
public interface InvokeHandler
Этот интерфейс предоставляет механизм обработки входящего вызова. Он вызывается ORB для перенаправления запроса серванту.
Методы
| Модификатор и тип | Метод и описание |
|---|---|
OutputStream |
_invoke(String method,
InputStream input,
ResponseHandler handler) Вызывается ORB для перенаправления запроса серванту. |
Методы
_invoke
OutputStream _invoke(String method,
InputStream input,
ResponseHandler handler)
throws SystemException Вызывается ORB для перенаправления запроса серванту. ORB передаёт имя метода, поток InputStream, содержащий сериализованные аргументы, и обработчик ResponseHandler, который сервант использует для построения правильного ответа. Этот метод может генерировать только исключения CORBA SystemException. Метод должен вернуть поток OutputStream, созданный обработчиком ResponseHandler, содержащий сериализованный ответ. Сервант не должен сохранять ссылку на ResponseHandler после завершения вызова метода. Поведение серванта определяется следующим образом:
1. Определение корректного метода и десериализация параметров из InputStream.
2. Вызов реализации метода.
3. Если нет пользовательского исключения, создание нормального ответа с помощью ResponseHandler.
4. Если произошло пользовательское исключение, создание ответа об исключении с помощью ResponseHandler.
5. Сериализация ответа в поток OutputStream, возвращаемый обработчиком ResponseHandler.
6. Возврат OutputStream в ORB.
- Параметры:
-
method- Имя метода. -
input- ПотокInputStreamсодержащий сериализованные аргументы. -
handler- ОбработчикResponseHandler, который сервант использует для построения правильного ответа - Возвращает:
- Поток
OutputStreamсозданный обработчиком ResponseHandler, содержащий сериализованный ответ - Исключения:
-
SystemException- генерируется, когда вызов завершается ошибкой из-за системного исключения CORBA.
© 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.