Boa tarde.
Estou tentando utilizar o suporte incluído pelo VRaptor á utilização de JPA, porém estou me deparando com a seguinte exceção:
br.com.caelum.vraptor.ioc.ComponentRegistrationException: Unable to determine target type, while trying to register the ComponentFactory: class teste.EMFactoryCreator. The class implementing ComponentFactory<T> must define the generic argument. Eg.: public class MyFactory implements ComponentFactory<MyComponent> { ... }
at br.com.caelum.vraptor.ioc.ComponentFactoryIntrospector.targetTypeForComponentFactory(ComponentFactoryIntrospector.java:27)
at br.com.caelum.vraptor.ioc.spring.ComponentFactoryBean.<init>(ComponentFactoryBean.java:22)
at br.com.caelum.vraptor.ioc.spring.ComponentScanner.postProcessBeanDefinition(ComponentScanner.java:68)
at org.springframework.context.annotation.ClassPathBeanDefinitionScanner.doScan(ClassPathBeanDefinitionScanner.java:205)
at org.springframework.context.annotation.ClassPathBeanDefinitionScanner.scan(ClassPathBeanDefinitionScanner.java:180)
at br.com.caelum.vraptor.ioc.spring.VRaptorApplicationContext.loadBeanDefinitions(VRaptorApplicationContext.java:89)
at org.springframework.context.support.AbstractRefreshableApplicationContext.refreshBeanFactory(AbstractRefreshableApplicationContext.java:123)
at org.springframework.context.support.AbstractApplicationContext.obtainFreshBeanFactory(AbstractApplicationContext.java:423)
at org.springframework.context.support.AbstractApplicationContext.refresh(AbstractApplicationContext.java:353)
at br.com.caelum.vraptor.ioc.spring.SpringBasedContainer.start(SpringBasedContainer.java:61)
at br.com.caelum.vraptor.ioc.spring.SpringProvider.start(SpringProvider.java:58)
at br.com.caelum.vraptor.VRaptor.init(VRaptor.java:115)
at br.com.caelum.vraptor.VRaptor.init(VRaptor.java:108)
at org.apache.catalina.core.ApplicationFilterConfig.getFilter(ApplicationFilterConfig.java:275)
at org.apache.catalina.core.ApplicationFilterConfig.setFilterDef(ApplicationFilterConfig.java:397)
at org.apache.catalina.core.ApplicationFilterConfig.<init>(ApplicationFilterConfig.java:108)
at org.apache.catalina.core.StandardContext.filterStart(StandardContext.java:3800)
at org.apache.catalina.core.StandardContext.start(StandardContext.java:4450)
at org.apache.catalina.core.ContainerBase.start(ContainerBase.java:1045)
at org.apache.catalina.core.StandardHost.start(StandardHost.java:722)
at org.apache.catalina.core.ContainerBase.start(ContainerBase.java:1045)
at org.apache.catalina.core.StandardEngine.start(StandardEngine.java:443)
at org.apache.catalina.core.StandardService.start(StandardService.java:516)
at org.apache.catalina.core.StandardServer.start(StandardServer.java:710)
at org.apache.catalina.startup.Catalina.start(Catalina.java:583)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
at java.lang.reflect.Method.invoke(Method.java:597)
at org.apache.catalina.startup.Bootstrap.start(Bootstrap.java:288)
at org.apache.catalina.startup.Bootstrap.main(Bootstrap.java:413)
Estou utilizando o Tomcat com o Hibernate como provider JPA. Utilizei a idéia sugerida na documentação para o Hibernate, de criar 2 classe extentendo EntityManagerCreator e EntityManagerFactoryCreator. Ambas geram exceção no início do Tomcat, impedindo a carga correta do contexto.
O problema até onde pude enxergar está associado diretamente ao VRaptor. Alguém já passou por isso ou tem alguma sugestão?
T+