public class RMIInvocationHandlerImpl extends java.lang.Object implements RMIInvocationHandler
| Constructor and Description |
|---|
RMIInvocationHandlerImpl(java.lang.Object obj,
java.lang.reflect.InvocationHandler handler)
Construtor.
|
| Modifier and Type | Method and Description |
|---|---|
java.lang.Object |
invoke(java.lang.String methodName,
java.lang.Class<?>[] parameterTypes,
java.lang.Object[] params)
Recebe as invocações remotamente e as delega ao
handler passado no construtor. |
public RMIInvocationHandlerImpl(java.lang.Object obj,
java.lang.reflect.InvocationHandler handler)
obj - Objeto no qual se deseja fazer as chamadas remotas.handler - Responsável por tratar as chamadas ao objeto, obj,
localmente.public java.lang.Object invoke(java.lang.String methodName,
java.lang.Class<?>[] parameterTypes,
java.lang.Object[] params)
throws java.lang.Throwable
Recebe as invocações remotamente e as delega ao handler passado no construtor.
IMPORTANTE:
A documentação do método
InvocationHandler.invoke(Object, Method, Object[]) diz que o proxy
no qual a chamada foi executada, será passado como primeiro argumento.
Entretanto, para evitar a constante serialização do proxy, será passado o
objeto para o qual o proxy foi criado para o InvocationHandler
responssável pela execução dos métodos. Não consideramos isso um problema,
pois a função do parâmetro proxy é apenas a de diferenciar onde a chamada
foi executada, já que um mesmo InvocationHandler pode ser utilizado
em vários proxies e um proxy pode ser criado apenas com interfaces.
invoke in interface RMIInvocationHandlermethodName - Nome do método a ser executado.parameterTypes - Tipo dos parâmetros do método.params - Parâmetros a serem passados para o método.java.lang.Throwable - Se ocorreu algum erro durante a invoação do método.Copyright © 2015. All Rights Reserved.