Estou tentando fazer pool de conexão com C3P0 e JPA mas está dando erro de compilação. O erro ocorre quando vai criar o entityManagerFactory. Se retirar a configuração do c3p0 funciona normalmente.
Meu persistence esta assim:
[code]<?xml version="1.0" encoding="UTF-8"?>
<provider>org.hibernate.ejb.HibernatePersistence</provider>
<mapping-file>META-INF/orm-queries.xml</mapping-file>
<class>br.com.visaogeo.sgt2.attributes.dao.AttributesPersist</class>
<class>br.com.visaogeo.sgt2.empresa.area.dao.AreaPersist</class>
<class>br.com.visaogeo.sgt2.empresa.area.dao.AreaTipoPersist</class>
<class>br.com.visaogeo.sgt2.empresa.entity.Empresa</class>
<class>br.com.visaogeo.sgt2.layer.dao.LayerBasePersist</class>
<class>br.com.visaogeo.sgt2.layer.dao.LayerVectorPersist</class>
<class>br.com.visaogeo.sgt2.metacamada.dao.MetacamadaPersist</class>
<class>br.com.visaogeo.sgt2.metaform.dao.MetaformPersist</class>
<class>br.com.visaogeo.sgt2.perfil.dao.GroupPersist</class>
<class>br.com.visaogeo.sgt2.perfil.dao.PerfilPersist</class>
<class>br.com.visaogeo.sgt2.report.dao.ReportPersist</class>
<class>br.com.visaogeo.sgt2.unum.entity.Propriedade</class>
<class>br.com.visaogeo.sgt2.usuario.dao.UsuarioPersist</class>
<class>br.com.visaogeo.sgt2.usuario.entity.UsuarioSGT2</class>
<class>br.com.visaogeo.sgt2.auth.entity.Cookie</class>
<class>br.com.visaogeo.sgt2.perfil.entity.Group</class>
<properties>
<property name="hibernate.dialect" value="org.hibernate.dialect.PostgreSQLDialect" />
<property name="hibernate.connection.url" value="jdbc:postgresql://192.168.0.165:5432/teste_v_3_1_0" />
<property name="hibernate.connection.username" value="dev" />
<property name="hibernate.connection.driver_class" value="org.postgresql.Driver" />
<property name="hibernate.connection.password" value="dev@1" />
<property name="hibernate.connection.provider" value="org.hibernate.connection.C3P0ConnectionProvider" />
<property name="hibernate.c3p0.min_size" value="5" />
<property name="hibernate.c3p0.max_size" value="100" />
<property name="hibernate.c3p0.timeout" value="300" />
<property name="hibernate.c3p0.max_statements" value="50" />
<property name="hibernate.c3p0.idle_test_period" value="3000" />
</properties>
</persistence-unit>
[/code]
O erro do console:
GRAVE: StandardWrapper.Throwable
java.lang.NoSuchMethodError: org.hibernate.engine.jdbc.connections.internal.ConnectionProviderInitiator.extractIsolation(Ljava/util/Map;)Ljava/lang/Integer;
at org.hibernate.c3p0.internal.C3P0ConnectionProvider.configure(C3P0ConnectionProvider.java:200)
at org.hibernate.boot.registry.internal.StandardServiceRegistryImpl.configureService(StandardServiceRegistryImpl.java:89)
at org.hibernate.service.internal.AbstractServiceRegistryImpl.initializeService(AbstractServiceRegistryImpl.java:206)
at org.hibernate.service.internal.AbstractServiceRegistryImpl.getService(AbstractServiceRegistryImpl.java:178)
at org.hibernate.engine.jdbc.internal.JdbcServicesImpl.buildJdbcConnectionAccess(JdbcServicesImpl.java:260)
at org.hibernate.engine.jdbc.internal.JdbcServicesImpl.configure(JdbcServicesImpl.java:94)
at org.hibernate.boot.registry.internal.StandardServiceRegistryImpl.configureService(StandardServiceRegistryImpl.java:89)
at org.hibernate.service.internal.AbstractServiceRegistryImpl.initializeService(AbstractServiceRegistryImpl.java:206)
at org.hibernate.service.internal.AbstractServiceRegistryImpl.getService(AbstractServiceRegistryImpl.java:178)
at org.hibernate.cfg.Configuration.buildTypeRegistrations(Configuration.java:1885)
at org.hibernate.cfg.Configuration.buildSessionFactory(Configuration.java:1843)
at org.hibernate.jpa.boot.internal.EntityManagerFactoryBuilderImpl$4.perform(EntityManagerFactoryBuilderImpl.java:850)
at org.hibernate.jpa.boot.internal.EntityManagerFactoryBuilderImpl$4.perform(EntityManagerFactoryBuilderImpl.java:843)
at org.hibernate.boot.registry.classloading.internal.ClassLoaderServiceImpl.withTccl(ClassLoaderServiceImpl.java:399)
at org.hibernate.jpa.boot.internal.EntityManagerFactoryBuilderImpl.build(EntityManagerFactoryBuilderImpl.java:842)
at org.hibernate.jpa.HibernatePersistenceProvider.createEntityManagerFactory(HibernatePersistenceProvider.java:73)
at org.hibernate.ejb.HibernatePersistence.createEntityManagerFactory(HibernatePersistence.java:54)
at javax.persistence.Persistence.createEntityManagerFactory(Persistence.java:55)
at javax.persistence.Persistence.createEntityManagerFactory(Persistence.java:39)
at br.com.visaogeo.sgt2.persist.EntityManagerSGT2Factory.getEntityManager(EntityManagerSGT2Factory.java:19)
at br.com.visaogeo.sgt2.utils.EntityManagerServlet.init(EntityManagerServlet.java:21)
at org.apache.catalina.core.StandardWrapper.initServlet(StandardWrapper.java:1231)
at org.apache.catalina.core.StandardWrapper.loadServlet(StandardWrapper.java:1144)
at org.apache.catalina.core.StandardWrapper.load(StandardWrapper.java:1031)
at org.apache.catalina.core.StandardContext.loadOnStartup(StandardContext.java:4923)
at org.apache.catalina.core.StandardContext.startInternal(StandardContext.java:5215)
at org.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:150)
at org.apache.catalina.core.ContainerBase$StartChild.call(ContainerBase.java:1408)
at org.apache.catalina.core.ContainerBase$StartChild.call(ContainerBase.java:1398)
at java.util.concurrent.FutureTask.run(FutureTask.java:262)
at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1145)
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:615)
at java.lang.Thread.run(Thread.java:745)
Meu pom.xml:
[code]
org.hibernate
hibernate-entitymanager
4.3.1.Final
<dependency>
<groupId>org.hibernate.javax.persistence</groupId>
<artifactId>hibernate-jpa-2.1-api</artifactId>
<version>1.0.0.Final</version>
</dependency>
<dependency>
<groupId>javax.validation</groupId>
<artifactId>validation-api</artifactId>
<version>1.0.0.GA</version>
</dependency>
<dependency>
<groupId>org.hibernate</groupId>
<artifactId>hibernate-validator</artifactId>
<version>5.2.2.Final</version>
</dependency>
<dependency>
<groupId>org.hibernate</groupId>
<artifactId>hibernate-c3p0</artifactId>
<version>5.0.2.Final</version>
</dependency>
<dependency>
<groupId>c3p0</groupId>
<artifactId>c3p0</artifactId>
<version>0.9.1.2</version>
</dependency>
<dependency>
<groupId>com.mchange</groupId>
<artifactId>mchange-commons-java</artifactId>
<version>0.2.10</version>
</dependency>[/code]
Desde já agradeço a ajuda