2010-10-15 4 views
6

Je reçois toujours des délais d'attente JDBC après avoir essayé de configurer c3p0 en suivant tous les exemples que j'ai pu trouver. J'utilise JPA, Hibernate, Tomcat, MySQL [AWS RDS]. Voici l'extrait de persistence.xml:Le regroupement de connexions C3p0 pour jpa dans persistence.xml ne fonctionne pas?

<property name="javax.persistence.jdbc.url" 
value="jdbc:mysql://url..." /> 
<property name="javax.persistence.jdbc.driver" value="com.mysql.jdbc.Driver" /> 
<property name="hibernate.dialect" value="org.hibernate.dialect.MySQLDialect" /> 
<property name="connection.provider_class" value="org.hibernate.connection.C3P0ConnectionProvider"/> 
<property name="hibernate.c3p0.acquire_increment" value="4" /> 
<property name="hibernate.c3p0.idle_test_period" value="3000" /> 
<property name="hibernate.c3p0.max_size" value="100" /> 
<property name="hibernate.c3p0.max_statements" value="15" /> 
<property name="hibernate.c3p0.min_size" value="5" /> 
<property name="hibernate.c3p0.timeout" value="100" /> 

Et le journal d'erreur:

09:18:51.776 WARN org.hibernate.util.JDBCExceptionReporter - SQL Error: 0, SQLState: 08S01 
09:18:51.777 ERROR org.hibernate.util.JDBCExceptionReporter - The last packet successfully received from the server was 38,491,585 milliseconds ago. ... 
+0

Même erreur pour moi. J'ai décidé de commencer une prime pour cette question. La réponse de @Pascal Thivent n'a pas aidé, je n'ai pas de journalisation sur c3po (aussi la connexion est activée). – Snicolas

Répondre

2

La configuration semble OK. Activez la journalisation et assurez-vous que C3P0 démarre avec les paramètres appropriés.

 
2010-10-16 11:58:31,271 INFO [main] o.h.c.ConnectionProviderFactory [ConnectionProviderFactory.java:173] Initializing connection provider: org.hibernate.connection.C3P0ConnectionProvider 
... 
+0

La journalisation est activée (en effet j'utilise jetty, un serveur web et il se connecte). J'ai le même fichier de persistance, c3po et c3po pour hibernate sont mes classpath (web-inf/classes, et tout est déployé par maven). Mais je n'ai pas d'informations de connexion sur c3po.Help s'il vous plaît – Snicolas

16

Je trouve la réponse de ce blog: http://blog.hpxn.net/2009/02/05/using-c3p0-and-hibernate-3/

Biens immobiliers à persistence.xml étaient tout simplement faux, vous devriez les écrire en commençant par mise en veille prolongée:

<persistence xmlns="http://java.sun.com/xml/ns/persistence" 
    xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" 
    xsi:schemaLocation="http://java.sun.com/xml/ns/persistence   http://java.sun.com/xml/ns/persistence/persistence_1_0.xsd" 
    version="1.0"> 
    <persistence-unit name="mypersistenceunitname"> 
     <properties> 
     <property name="hibernate.connection.driver_class" value="com.mysql.jdbc.Driver" /> 
     <property name="hibernate.dialect" value="org.hibernate.dialect.MySQLDialect" /> 
     <property name="hibernate.hbm2ddl.auto" value="create-drop" /> 

     <!-- Important --> 
     <property name="hibernate.connection.provider_class" 
      value="org.hibernate.connection.C3P0ConnectionProvider" /> 

     <property name="hibernate.c3p0.max_size" value="100" /> 
     <property name="hibernate.c3p0.min_size" value="0" /> 
     <property name="hibernate.c3p0.acquire_increment" value="1" /> 
     <property name="hibernate.c3p0.idle_test_period" value="300" /> 
     <property name="hibernate.c3p0.max_statements" value="0" /> 
     <property name="hibernate.c3p0.timeout" value="100" /> 
     </properties> 
    </persistence-unit> 
</persistence> 

Et puis, vous voir ce journal fabuleux apparaître:

2011-08-15 08:58:33 com.mchange.v2.c3p0.C3P0Registry banner 
INFO: Initializing c3p0-0.9.1 [built 16-January-2007 14:46:42; debug? true; trace: 10] 
2011-08-15 08:58:33 com.mchange.v2.c3p0.impl.AbstractPoolBackedDataSource getPoolManager 
INFO: Initializing c3p0 pool... [email protected] [  connectionPoolDataSource -> [email protected]  .... 

Cordialement, Stéphane (désolé pour la prime)

+0

pouvez-vous aider https://stackoverflow.com/questions/47011116/the-last-packet-sent-successfully-to-the-server-was-70-400-003 -milliseconds-ag – Tony

Questions connexes