Pessoal, estou inventando um Proxy web para atuar como controlador de interface gráfica. Você informa quem é o SessionBean responsável pelas Entities e ele vai mapeado automaticamento todos os processos CRUD. Se funcinar como está aqui na minha caxola, vai ficar fera e open source too…
Porém morri na praia com o EJB3 Session e reflection. Esse é o Erro:
java.lang.IllegalArgumentException: object is not an instance of declaring class
Que ocorre aqui:
Onde:
sessionInstance é um Object criado pelo context.lookup()
Como é que eu sei que ele é o culpado? - Se eu executar um:
System.out.println("sessionInstance class = " + sessionInstance.getClass());
System.out.println("sessionInstance class name = " + sessionInstance.getClass().getName());
21:50:47,099 INFO [STDOUT] sessionInstance class = class $Proxy149
21:50:47,099 INFO [STDOUT] sessionInstance class name = $Proxy149
Resultado: O lookup criou um Proxy RMI, ou sei lá qualquer outra coisa, mas não é uma instância real da classe que precisa ser passada para o invoke fazer o reflection. Como é que eu resolvo essa parada? Tem como fazer um cast de Proxy para Real Class type ??? Existe um Reflection the Proxies?
Valew,
Abraços,
Davi.