2010-10-15 7 views
6

Sto ancora ottenendo timeout JDBC dopo aver tentato di configurare c3p0 seguendo tutti gli esempi che ho trovato. Sto usando JPA, Hibernate, Tomcat, MySQL [AWS RDS]. Ecco il frammento dal persistence.xml:Il pool di connessioni C3p0 per jpa in persistence.xml non funziona?

<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" /> 

E il log degli errori:

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

Lo stesso errore per me. Ho deciso di iniziare una taglia per quella domanda. La risposta di @Pascal Thivent non è stata di aiuto, non ho avuto alcuna registrazione su c3po (anche il logging è abilitato). – Snicolas

risposta

2

La configurazione sembra OK. Attiva la registrazione e assicurati che C3P0 inizi con le impostazioni appropriate.

 
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 registrazione è attivata (Effettivamente io uso il molo, un server web e registra tutto). Ho ottenuto lo stesso file di persistenza, c3po e c3po per ibernazione entrambi sono il mio classpath (web-inf/classes, e tutto viene distribuito tramite Maven). Ma non ho ricevuto informazioni di registrazione su c3po. Per favore, per favore, – Snicolas

16

ho trovato la risposta da questo blog: http://blog.hpxn.net/2009/02/05/using-c3p0-and-hibernate-3/

Immobili a persistence.xml erano solo sbagliato, si dovrebbe incantesimo li che inizia da Hibernate:

<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> 

E poi, si vedi questo favoloso registro visualizzato:

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]  .... 

Cordiali saluti, Stéphane (mi dispiace per la taglia)

+0

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