Vraptor3: Dependências com CGLIB

2 respostas
G

Analisando os fontes do Vraptor fiquei com uma dúvida quanto ao uso da CGLIB para criação de proxies. Analisei as implementações da Proxifier, principalmente a DefaultProxifier, e notei que a mesma possui um IF para verificar se é possível usar CGLIB ou JDK proxies. Porém essas classes extendem AbstractCglibProxifier, sendo assim vou certamente tomar um NoClassDefFoundError.

Enfim, o Vraptor possui dependência obrigatória com a CGLIB? Caso sim, é muito difícil separar esses componentes de forma que permita usar javassist ou jdk proxies?

Caused by: java.lang.ClassNotFoundException: net.sf.cglib.proxy.MethodInterceptor at java.net.URLClassLoader$1.run(URLClassLoader.java:200) at java.security.AccessController.doPrivileged(Native Method) at java.net.URLClassLoader.findClass(URLClassLoader.java:188) at org.glassfish.web.loader.WebappClassLoader.findClass(WebappClassLoader.java:949) at org.glassfish.web.loader.WebappClassLoader.loadClass(WebappClassLoader.java:1420) at java.lang.ClassLoader.loadClassInternal(ClassLoader.java:316)

2 Respostas

Lucas_Cavalcanti

não é uma dependência obrigatória… só não temos uma implementação do proxifier que se baseie em javassist… e jdk proxies só funcionam pra interfaces…

pra implementar um JavassistProxifier vc só precisa converter o MethodInvocation do VRaptor pro similar em javassist…

se vc for fazer isso e precisar de ajuda é só falar… e se conseguir fazer funcionar e quiser integrar ao código do VRaptor ficaríamos mto felizes =)

Abraços

G

Acho que a CGLIB é dependencia do Spring. Analisei a documentação deles mas não há nenhum local onde dica quais são as dependencias dele. Fiz meio na tentativa e erro, hehe. Mas beleza, vou ir analisando isso com calma.

Criado 7 de maio de 2010
Ultima resposta 8 de mai. de 2010
Respostas 2
Participantes 2