Boa Tarde pessoal blz!
Estou com um problema com o vraptor ele não esta conseguindo fazer a injeção do meu PersistenceManager.
Estava vendo aqui no forum pessoas com o mesmo problema que eu , tentei usar a solução delas mas não deu certo.
vou posta aqui como esta minha configuração , estou usando jboss 7.1 , hibernate 4.1 , raptor 3.2 e o maven 3.0
obs: quando rodo um teste sem ser pelo vraptor , por uma classe main individual vai normal.
persistence.xml
<?xml version="1.0" encoding="UTF-8"?>
<persistence version="2.0"
xsi:schemaLocation="http://java.sun.com/xml/ns/persistence http://java.sun.com/xml/ns/persistence/persistence_2_0.xsd"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns="http://java.sun.com/xml/ns/persistence">
<persistence-unit name="default" transaction-type="RESOURCE_LOCAL">
<provider>org.hibernate.ejb.HibernatePersistence</provider>
<class>br.com.entrevista.dao.entity.Topico</class>
<class>br.com.entrevista.dao.entity.TopicoCategoria</class>
<class>br.com.entrevista.dao.entity.Comentario</class>
<properties>
<property name="hibernate.dialect" value="org.hibernate.dialect.DerbyDialect"/>
<property name="hibernate.connection.driver_class" value="org.apache.derby.jdbc.EmbeddedDriver"/>
<property name="hibernate.connection.url" value="jdbc:derby://localhost:1527/entrevista;create=true;user=treino;password=treino"/>
<property name="hibernate.connection.username" value="treino"/>
<property name="hibernate.connection.password" value="treino"/>
<property name="current_session_context_class" value="thread"/>
<!-- Drop and re-create the database schema on startup -->
<!-- <property name="hibernate.hbm2ddl.auto" value="update"/> -->
<!-- helper debug settings -->
<property name="hibernate.show_sql" value="true"/>
<property name="hibernate.format_sql" value="false"/>
</properties>
</persistence-unit>
</persistence>
web.xml : apesar de esta usando o jee6 nao precisar colocar algumas configurações eu coloquei.
<web-app>
<display-name>Archetype Created Web Application</display-name>
<filter>
<filter-name>vraptor</filter-name>
<filter-class>br.com.caelum.vraptor.VRaptor</filter-class>
</filter>
<filter-mapping>
<filter-name>vraptor</filter-name>
<url-pattern>/*</url-pattern>
</filter-mapping>
<context-param>
<param-name>br.com.caelum.vraptor.packages</param-name>
<param-value>br.com.caelum.vraptor.util.hibernate</param-value>
</context-param>
</web-app>
classe de conexão
public class JPAFactory {
private static EntityManagerFactory factory;
private JPAFactory() {};
public static EntityManager getEntityManager() {
if(factory == null) {
factory = Persistence.createEntityManagerFactory("default");
}
return factory.createEntityManager();
}
@Component
public class Conection implements ComponentFactory<EntityManager> {
private EntityManager manager;
@PostConstruct
public void openConection(){
manager = JPAFactory.getEntityManager();
}
@PreDestroy
public void closeConection(){
if(this.manager != null && this.manager.isOpen())
this.manager.close();
}
public EntityManager getInstance() {
return this.manager;
}
@Component
public class CategoriaImpleDAO implements CategoriaInterfaceDAO {
private Conection conection;
public CategoriaImpleDAO(Conection conection) {
this.conection = conection;
}
public String criarCategoriaTopico(CategoriaTopicoDTO categoria) {
TopicoCategoria categoriaEntity = this.depareObject(categoria);
EntityManager manager = this.conection.getInstance();
manager.getTransaction().begin();
try{
manager.persist(categoriaEntity);
manager.getTransaction().commit();
}catch(Exception ex){
manager.getTransaction().rollback();
ex.printStackTrace();
}
return null;
}
}
erro do processo acima é:
14:55:03,852 ERROR [org.apache.catalina.core.ContainerBase.[jboss.web].[default-host].[/comente-sobre].[default]] (http-localhost-127.0.0.1-8089-2) Servlet.service() for servlet default threw exception: br.com.caelum.vraptor.InterceptionException: exception raised, check root cause for details: javax.persistence.PersistenceException: org.hibernate.exception.JDBCConnectionException: Could not open connection
at br.com.caelum.vraptor.interceptor.ExecuteMethodInterceptor.intercept(ExecuteMethodInterceptor.java:86) [vraptor-3.2.0.jar:]
at br.com.caelum.vraptor.core.ToInstantiateInterceptorHandler.execute(ToInstantiateInterceptorHandler.java:54) [vraptor-3.2.0.jar:]
at br.com.caelum.vraptor.core.DefaultInterceptorStack.next(DefaultInterceptorStack.java:53) [vraptor-3.2.0.jar:]
at br.com.caelum.vraptor.interceptor.ExceptionHandlerInterceptor.intercept(ExceptionHandlerInterceptor.java:69) [vraptor-3.2.0.jar:]
at br.com.caelum.vraptor.core.ToInstantiateInterceptorHandler.execute(ToInstantiateInterceptorHandler.java:54) [vraptor-3.2.0.jar:]
at br.com.caelum.vraptor.core.DefaultInterceptorStack.next(DefaultInterceptorStack.java:53) [vraptor-3.2.0.jar:]
at br.com.caelum.vraptor.core.LazyInterceptorHandler.execute(LazyInterceptorHandler.java:61) [vraptor-3.2.0.jar:]
at br.com.caelum.vraptor.core.DefaultInterceptorStack.next(DefaultInterceptorStack.java:53) [vraptor-3.2.0.jar:]
at br.com.caelum.vraptor.interceptor.ParametersInstantiatorInterceptor.intercept(ParametersInstantiatorInterceptor.java:90) [vraptor-3.2.0.jar:]
at br.com.caelum.vraptor.core.LazyInterceptorHandler.execute(LazyInterceptorHandler.java:59) [vraptor-3.2.0.jar:]
at br.com.caelum.vraptor.core.DefaultInterceptorStack.next(DefaultInterceptorStack.java:53) [vraptor-3.2.0.jar:]
at br.com.caelum.vraptor.interceptor.InstantiateInterceptor.intercept(InstantiateInterceptor.java:42) [vraptor-3.2.0.jar:]
at br.com.caelum.vraptor.core.ToInstantiateInterceptorHandler.execute(ToInstantiateInterceptorHandler.java:54) [vraptor-3.2.0.jar:]
at br.com.caelum.vraptor.core.DefaultInterceptorStack.next(DefaultInterceptorStack.java:53) [vraptor-3.2.0.jar:]
at br.com.caelum.vraptor.core.ToInstantiateInterceptorHandler.execute(ToInstantiateInterceptorHandler.java:56) [vraptor-3.2.0.jar:]
at br.com.caelum.vraptor.core.DefaultInterceptorStack.next(DefaultInterceptorStack.java:53) [vraptor-3.2.0.jar:]
at br.com.caelum.vraptor.interceptor.InterceptorListPriorToExecutionExtractor.intercept(InterceptorListPriorToExecutionExtractor.java:44) [vraptor-3.2.0.jar:]
at br.com.caelum.vraptor.core.ToInstantiateInterceptorHandler.execute(ToInstantiateInterceptorHandler.java:54) [vraptor-3.2.0.jar:]
at br.com.caelum.vraptor.core.DefaultInterceptorStack.next(DefaultInterceptorStack.java:53) [vraptor-3.2.0.jar:]
at br.com.caelum.vraptor.interceptor.FlashInterceptor.intercept(FlashInterceptor.java:81) [vraptor-3.2.0.jar:]
at br.com.caelum.vraptor.core.ToInstantiateInterceptorHandler.execute(ToInstantiateInterceptorHandler.java:54) [vraptor-3.2.0.jar:]
at br.com.caelum.vraptor.core.DefaultInterceptorStack.next(DefaultInterceptorStack.java:53) [vraptor-3.2.0.jar:]
at br.com.caelum.vraptor.interceptor.ResourceLookupInterceptor.intercept(ResourceLookupInterceptor.java:67) [vraptor-3.2.0.jar:]
at br.com.caelum.vraptor.core.ToInstantiateInterceptorHandler.execute(ToInstantiateInterceptorHandler.java:54) [vraptor-3.2.0.jar:]
at br.com.caelum.vraptor.core.DefaultInterceptorStack.next(DefaultInterceptorStack.java:53) [vraptor-3.2.0.jar:]
at br.com.caelum.vraptor.core.ToInstantiateInterceptorHandler.execute(ToInstantiateInterceptorHandler.java:56) [vraptor-3.2.0.jar:]
at br.com.caelum.vraptor.core.DefaultInterceptorStack.next(DefaultInterceptorStack.java:53) [vraptor-3.2.0.jar:]
at br.com.caelum.vraptor.core.DefaultRequestExecution.execute(DefaultRequestExecution.java:70) [vraptor-3.2.0.jar:]
at br.com.caelum.vraptor.VRaptor$1.insideRequest(VRaptor.java:92) [vraptor-3.2.0.jar:]
at br.com.caelum.vraptor.ioc.spring.SpringProvider.provideForRequest(SpringProvider.java:56) [vraptor-3.2.0.jar:]
at br.com.caelum.vraptor.VRaptor.doFilter(VRaptor.java:89) [vraptor-3.2.0.jar:]
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:280) [jbossweb-7.0.10.Final.jar:]
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:248) [jbossweb-7.0.10.Final.jar:]
at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:275) [jbossweb-7.0.10.Final.jar:]
at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:161) [jbossweb-7.0.10.Final.jar:]
at org.jboss.as.jpa.interceptor.WebNonTxEmCloserValve.invoke(WebNonTxEmCloserValve.java:50) [jboss-as-jpa-7.1.0.Final.jar:7.1.0.Final]
at org.jboss.as.web.security.SecurityContextAssociationValve.invoke(SecurityContextAssociationValve.java:154) [jboss-as-web-7.1.0.Final.jar:7.1.0.Final]
at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:155) [jbossweb-7.0.10.Final.jar:]
at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:102) [jbossweb-7.0.10.Final.jar:]
at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:109) [jbossweb-7.0.10.Final.jar:]
at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:368) [jbossweb-7.0.10.Final.jar:]
at org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:877) [jbossweb-7.0.10.Final.jar:]
at org.apache.coyote.http11.Http11Protocol$Http11ConnectionHandler.process(Http11Protocol.java:671) [jbossweb-7.0.10.Final.jar:]
at org.apache.tomcat.util.net.JIoEndpoint$Worker.run(JIoEndpoint.java:930) [jbossweb-7.0.10.Final.jar:]
at java.lang.Thread.run(Thread.java:722) [rt.jar:1.7.0]
Caused by: javax.persistence.PersistenceException: org.hibernate.exception.JDBCConnectionException: Could not open connection
at org.hibernate.ejb.AbstractEntityManagerImpl.convert(AbstractEntityManagerImpl.java:1361) [hibernate-entitymanager-4.0.1.Final.jar:4.0.1.Final]
at org.hibernate.ejb.AbstractEntityManagerImpl.convert(AbstractEntityManagerImpl.java:1289) [hibernate-entitymanager-4.0.1.Final.jar:4.0.1.Final]
at org.hibernate.ejb.AbstractEntityManagerImpl.throwPersistenceException(AbstractEntityManagerImpl.java:1371) [hibernate-entitymanager-4.0.1.Final.jar:4.0.1.Final]
at org.hibernate.ejb.TransactionImpl.begin(TransactionImpl.java:60) [hibernate-entitymanager-4.0.1.Final.jar:4.0.1.Final]
at br.com.entrevista.dao.interfaces.imple.CategoriaImpleDAO.criarCategoriaTopico(CategoriaImpleDAO.java:35) [classes:]
at br.com.entrevista.manager.interfaces.imple.CategoriaTopicoManagerControler.criarCategoriaTopico(CategoriaTopicoManagerControler.java:36) [classes:]
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) [rt.jar:1.7.0]
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57) [rt.jar:1.7.0]
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) [rt.jar:1.7.0]
at java.lang.reflect.Method.invoke(Method.java:601) [rt.jar:1.7.0]
at br.com.caelum.vraptor.interceptor.ExecuteMethodInterceptor.intercept(ExecuteMethodInterceptor.java:57) [vraptor-3.2.0.jar:]
... 44 more
Caused by: org.hibernate.exception.JDBCConnectionException: Could not open connection
at org.hibernate.exception.internal.SQLStateConversionDelegate.convert(SQLStateConversionDelegate.java:131) [hibernate-core-4.0.1.Final.jar:4.0.1.Final]
at org.hibernate.exception.internal.StandardSQLExceptionConverter.convert(StandardSQLExceptionConverter.java:47) [hibernate-core-4.0.1.Final.jar:4.0.1.Final]
at org.hibernate.engine.jdbc.spi.SqlExceptionHelper.convert(SqlExceptionHelper.java:125) [hibernate-core-4.0.1.Final.jar:4.0.1.Final]
at org.hibernate.engine.jdbc.spi.SqlExceptionHelper.convert(SqlExceptionHelper.java:110) [hibernate-core-4.0.1.Final.jar:4.0.1.Final]
at org.hibernate.engine.jdbc.internal.LogicalConnectionImpl.obtainConnection(LogicalConnectionImpl.java:304) [hibernate-core-4.0.1.Final.jar:4.0.1.Final]
at org.hibernate.engine.jdbc.internal.LogicalConnectionImpl.getConnection(LogicalConnectionImpl.java:169) [hibernate-core-4.0.1.Final.jar:4.0.1.Final]
at org.hibernate.engine.transaction.internal.jdbc.JdbcTransaction.doBegin(JdbcTransaction.java:67) [hibernate-core-4.0.1.Final.jar:4.0.1.Final]
at org.hibernate.engine.transaction.spi.AbstractTransactionImpl.begin(AbstractTransactionImpl.java:160) [hibernate-core-4.0.1.Final.jar:4.0.1.Final]
at org.hibernate.internal.SessionImpl.beginTransaction(SessionImpl.java:1263) [hibernate-core-4.0.1.Final.jar:4.0.1.Final]
at org.hibernate.ejb.TransactionImpl.begin(TransactionImpl.java:57) [hibernate-entitymanager-4.0.1.Final.jar:4.0.1.Final]
... 51 more
Caused by: java.sql.SQLException: No suitable driver found for jdbc:derby://localhost:1527/entrevista;create=true;user=treino;password=treino
at java.sql.DriverManager.getConnection(DriverManager.java:604) [rt.jar:1.7.0]
at java.sql.DriverManager.getConnection(DriverManager.java:190) [rt.jar:1.7.0]
at org.hibernate.service.jdbc.connections.internal.DriverManagerConnectionProviderImpl.getConnection(DriverManagerConnectionProviderImpl.java:173) [hibernate-core-4.0.1.Final.jar:4.0.1.Final]
at org.hibernate.internal.AbstractSessionImpl$NonContextualJdbcConnectionAccess.obtainConnection(AbstractSessionImpl.java:276) [hibernate-core-4.0.1.Final.jar:4.0.1.Final]
at org.hibernate.engine.jdbc.internal.LogicalConnectionImpl.obtainConnection(LogicalConnectionImpl.java:297) [hibernate-core-4.0.1.Final.jar:4.0.1.Final]
... 56 more
obs : ja chequei e todas dependencias para o derby esta na lib o derby.jar quanto o derbyClient.jar