Java Dynamic Proxy - Como referência a classe concreta

Eu tenho uma pergunta relacionada a proxies dinâmicos em java.

Suponha que eu tenha uma interface chamadaFoo com um métodoexecute e classeFooImpl implements Foo.

Quando eu crio um proxy paraFoo e eu tenho algo como:

Foo f = (Foo) Proxy.newProxyInstance(Foo.class.getClassLoader(),
                                     new Class[] { Foo.class },
                                     handler);

Suponha que meu manipulador de invocação se pareça com:

public class FooHandler implements InvocationHandler {
    public Object invoke(Object proxy, Method method, Object[] args) {
        ...
    }
}

Se meu código de chamada parecer algo como

Foo proxyFoo = (Foo) Proxy.newInstance(Foo.getClass().getClassLoader(),
                                       new Class[] { Foo.class },
                                       new FooHandler());
proxyFoo.execute();

Se o proxy puder interceptar a chamada mencionada acimaexecute deFoo interface, onde é que oFooImpl entre no jogo? Talvez eu esteja olhando proxies dinâmicos da maneira errada. O que eu quero é ser capaz de pegar oexecute chamada de uma implementação concreta deFoo, tal comoFooImpl. Isso pode ser feito?

Muito Obrigado

questionAnswers(2)

yourAnswerToTheQuestion