InvokeHandler

Interface InvokeHandler

All Known Subinterfaces:
Tie
All Known Implementing Classes:
BindingIteratorPOA, NamingContextExtPOA, NamingContextPOA, ServantActivatorPOA, ServantLocatorPOA
public interface InvokeHandler

This interface provides a dispatching mechanism for an incoming call. It is invoked by the ORB to dispatch a request to a servant.

Methods

_invoke

OutputStream _invoke(String method,
                     InputStream input,
                     ResponseHandler handler)
              throws SystemException

Invoked by the ORB to dispatch a request to the servant. ORB passes the method name, an InputStream containing the marshalled arguments, and a ResponseHandler which the servant uses to construct a proper reply. Only CORBA SystemException may be thrown by this method. The method must return an OutputStream created by the ResponseHandler which contains the marshalled reply. A servant must not retain a reference to the ResponseHandler beyond the lifetime of a method invocation. Servant behaviour is defined as follows:

1. Determine correct method, and unmarshal parameters from InputStream.

2. Invoke method implementation.

3. If no user exception, create a normal reply using ResponseHandler.

4. If user exception occurred, create exception reply using ResponseHandler.

5. Marshal reply into OutputStream returned by ResponseHandler.

6. Return OutputStream to ORB.

Parameters:
method - The method name.
input - The InputStream containing the marshalled arguments.
handler - The ResponseHandler which the servant uses to construct a proper reply
Returns:
The OutputStream created by the ResponseHandler which contains the marshalled reply
Throws:
SystemException - is thrown when invocation fails due to a CORBA system exception.

© 1993–2017, 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.

在线笔记
App下载
App下载

扫描二维码

下载编程狮App

公众号
微信公众号

编程狮公众号

意见反馈
返回顶部