VRaptor com JPA

o erro do construtor é pq ele não consegue criar um EntityManager pq deu algum erro… tenta ver os caused-by das exceptions que dão desde a inicialização do sistema até uma requisição…

e lembre de dar um clean no projeto e no servidor.

Vou dar mais uma fuçada aqui, teria algum log para ativar para melhorar as saidas no console para ver se encontro algo?
Obrigado por enquanto Lucas.

tem o log de debug do VRaptor…


trocando INFO pra DEBUG

Então, só consegui voltar a mexer nisso esse final de semana, aparentemente resolvi aquele problema, agora quando tento acessar o DAO, ele me retorna a seguinte Exception:

16:39:03,723 ERROR [org.apache.catalina.core.ContainerBase.[jboss.web].[default-host].[/projetoweb].[default]] (http--192.168.0.100-8080-1) Servlet.service() for servlet default threw exception: java.lang.IllegalStateException: A JTA EntityManager cannot use getTransaction() at org.hibernate.ejb.AbstractEntityManagerImpl.getTransaction(AbstractEntityManagerImpl.java:996) [hibernate-entitymanager-4.0.1.Final.jar:4.0.1.Final] at br.com.caelum.vraptor.util.jpa.JPATransactionInterceptor.intercept(JPATransactionInterceptor.java:49) [vraptor-3.4.1.jar:] at br.com.caelum.vraptor.core.ToInstantiateInterceptorHandler.execute(ToInstantiateInterceptorHandler.java:54) [vraptor-3.4.1.jar:] at br.com.caelum.vraptor.core.DefaultInterceptorStack.next(DefaultInterceptorStack.java:54) [vraptor-3.4.1.jar:] at br.com.caelum.vraptor.core.LazyInterceptorHandler.execute(LazyInterceptorHandler.java:61) [vraptor-3.4.1.jar:] at br.com.caelum.vraptor.core.DefaultInterceptorStack.next(DefaultInterceptorStack.java:54) [vraptor-3.4.1.jar:] at br.com.caelum.vraptor.interceptor.ExceptionHandlerInterceptor.intercept(ExceptionHandlerInterceptor.java:71) [vraptor-3.4.1.jar:] at br.com.caelum.vraptor.core.ToInstantiateInterceptorHandler.execute(ToInstantiateInterceptorHandler.java:54) [vraptor-3.4.1.jar:] at br.com.caelum.vraptor.core.DefaultInterceptorStack.next(DefaultInterceptorStack.java:54) [vraptor-3.4.1.jar:] at br.com.caelum.vraptor.interceptor.FlashInterceptor.intercept(FlashInterceptor.java:83) [vraptor-3.4.1.jar:] at br.com.caelum.vraptor.core.ToInstantiateInterceptorHandler.execute(ToInstantiateInterceptorHandler.java:54) [vraptor-3.4.1.jar:] at br.com.caelum.vraptor.core.DefaultInterceptorStack.next(DefaultInterceptorStack.java:54) [vraptor-3.4.1.jar:] at br.com.caelum.vraptor.interceptor.InstantiateInterceptor.intercept(InstantiateInterceptor.java:48) [vraptor-3.4.1.jar:] at br.com.caelum.vraptor.core.ToInstantiateInterceptorHandler.execute(ToInstantiateInterceptorHandler.java:54) [vraptor-3.4.1.jar:] at br.com.caelum.vraptor.core.DefaultInterceptorStack.next(DefaultInterceptorStack.java:54) [vraptor-3.4.1.jar:] at br.com.caelum.vraptor.interceptor.ResourceLookupInterceptor.intercept(ResourceLookupInterceptor.java:69) [vraptor-3.4.1.jar:] at br.com.caelum.vraptor.core.ToInstantiateInterceptorHandler.execute(ToInstantiateInterceptorHandler.java:54) [vraptor-3.4.1.jar:] at br.com.caelum.vraptor.core.DefaultInterceptorStack.next(DefaultInterceptorStack.java:54) [vraptor-3.4.1.jar:] at br.com.caelum.vraptor.core.ToInstantiateInterceptorHandler.execute(ToInstantiateInterceptorHandler.java:56) [vraptor-3.4.1.jar:] at br.com.caelum.vraptor.core.DefaultInterceptorStack.next(DefaultInterceptorStack.java:54) [vraptor-3.4.1.jar:] at br.com.caelum.vraptor.core.EnhancedRequestExecution.execute(EnhancedRequestExecution.java:44) [vraptor-3.4.1.jar:] at br.com.caelum.vraptor.VRaptor$1.insideRequest(VRaptor.java:91) [vraptor-3.4.1.jar:] at br.com.caelum.vraptor.ioc.spring.SpringProvider.provideForRequest(SpringProvider.java:58) [vraptor-3.4.1.jar:] at br.com.caelum.vraptor.VRaptor.doFilter(VRaptor.java:88) [vraptor-3.4.1.jar:] at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:280) [jbossweb-7.0.13.Final.jar:] at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:248) [jbossweb-7.0.13.Final.jar:] at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:275) [jbossweb-7.0.13.Final.jar:] at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:161) [jbossweb-7.0.13.Final.jar:] at org.jboss.as.jpa.interceptor.WebNonTxEmCloserValve.invoke(WebNonTxEmCloserValve.java:50) [jboss-as-jpa-7.1.1.Final.jar:7.1.1.Final] at org.jboss.as.web.security.SecurityContextAssociationValve.invoke(SecurityContextAssociationValve.java:153) [jboss-as-web-7.1.1.Final.jar:7.1.1.Final] at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:155) [jbossweb-7.0.13.Final.jar:] at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:102) [jbossweb-7.0.13.Final.jar:] at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:109) [jbossweb-7.0.13.Final.jar:] at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:368) [jbossweb-7.0.13.Final.jar:] at org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:877) [jbossweb-7.0.13.Final.jar:] at org.apache.coyote.http11.Http11Protocol$Http11ConnectionHandler.process(Http11Protocol.java:671) [jbossweb-7.0.13.Final.jar:] at org.apache.tomcat.util.net.JIoEndpoint$Worker.run(JIoEndpoint.java:930) [jbossweb-7.0.13.Final.jar:] at java.lang.Thread.run(Thread.java:680) [classes.jar:1.6.0_37]
E no meu web.xml eu configurei:

<context-param> <param-name>br.com.caelum.vraptor.packages</param-name> <param-value>br.com.caelum.vraptor.util.jpa</param-value> </context-param>
Com isso o VRaptor trata as transações certo? Não entendi o erro, no meu dao não tenho nenhum em.getTransaction() (em = javax.persistence.EntityManager) ou algo do tipo…

Consegui resolver, mudei o persistence.xml para transaction-type=“RESOURCE_LOCAL”.

E quanto ao outro erro, adicionei uma propriedade a mais no persistence.xml

<property name="hibernate.transaction.jta.platform" value="org.hibernate.service.jta.platform.internal.JBossAppServerJtaPlatform" />