public class RMIInvocationHandlerImpl extends Object implements RMIInvocationHandler
| Constructor and Description |
|---|
RMIInvocationHandlerImpl(Object obj,
InvocationHandler handler)
Construtor.
|
| Modifier and Type | Method and Description |
|---|---|
Object |
invoke(String methodName,
Class<?>[] parameterTypes,
Object[] params)
Recebe as invocações remotamente e as delega ao
handler passado no construtor. |
public RMIInvocationHandlerImpl(Object obj, InvocationHandler handler)
obj - Objeto no qual se deseja fazer as chamadas remotas.handler - Responsável por tratar as chamadas ao objeto, obj,
localmente.public Object invoke(String methodName, Class<?>[] parameterTypes, Object[] params) throws 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.Throwable - Se ocorreu algum erro durante a invoação do método.Copyright © 2020. All rights reserved.