Tenemos una webapp corriendo Hibernate/C3PO 4.1.4.Final, Espolón, Java 6 y MySQL 5.1.63.MySQL/Hibernate tiene al azar "fallo del enlace de comunicaciones"
javax.persistence.PersistenceException: org.hibernate.exception.JDBCConnectionException: enlace de comunicaciones fracaso
El último paquete recibido correctamente desde el servidor de hace 238,519 milisegundos. El último paquete enviado correctamente al servidor fue hace 0 milisegundos.
sección de propiedades de nuestra persistence.xml se parece a esto ...
<properties>
<property name="hibernate.show_sql" value="false"/>
<!--Begin Credentials -->
<property name="hibernate.connection.url"
value="${rp.config.db.url}&useUnicode=true&characterEncoding=UTF-8"/>
<property name="hibernate.connection.username" value="${rp.config.db.user}"/>
<property name="hibernate.connection.password" value="${rp.config.db.password}"/>
<!--End Credentials -->
<property name="hibernate.connection.driver_class" value="com.mysql.jdbc.Driver"/>
<property name="hibernate.dialect" value="com.printlogix.rp.server.utils.Mysql5BitBooleanDialect"/>
<property name="hibernate.hbm2ddl.auto" value="validate"/>
<!--C3PO -->
<property name="hibernate.connection.provider_class"
value="org.hibernate.service.jdbc.connections.internal.C3P0ConnectionProvider"/>
<property name="hibernate.c3p0.acquire_increment" value="25"/>
<property name="hibernate.c3p0.idle_test_period" value="60"/>
<property name="hibernate.c3p0.timeout" value="120"/>
<property name="hibernate.c3p0.max_size" value="150"/>
<property name="hibernate.c3p0.min_size" value="25"/>
<property name="hibernate.c3p0.max_statement" value="0"/>
<property name="hibernate.c3p0.preferredTestQuery" value="select 1;"/>
</properties>
Nuestro tiempo de espera en MySQL se establece en 600 segundos. No tenemos idea de cómo está sucediendo esto 1/5 veces. El servidor tiene muy poca carga, la base de datos es relativamente pequeña, todos los servlets se ejecutan en segundos.
Alguien tiene alguna idea?
¿Hay algún problema en la comunicación entre los equipos que alojan embarcadero y MySQL? ¿Algún tipo de firewall? –
¿Cuáles son las transacciones que estás haciendo para causar un caso así? ¿Cuánto tiempo duran? Si duran más que el tiempo de espera de MySQL, intente dividir la transacción en varias transacciones por lotes. Fuentes: estado allí, hecho eso (si ese es el caso lo que describí :)) –
¿Primero de todo es su funcionamiento mysql? y este parámetro apunta a la url correcta -rp.config.db.url? – Chan