Mysql
 sql >> Database >  >> RDS >> Mysql

La connessione del database a MySQL scade anche dopo aver impostato c3p0.testConnectionOnCheckout=true

Abbiamo iniziato ad avere lo stesso problema "Collegamento di comunicazione" quando abbiamo aggiornato l'ibernazione a 4.3.x utilizzando JPA e C3P0 per il pool di connessioni.

Sembra che questo sarebbe un problema di pool di connessioni poiché le connessioni venivano mantenute più a lungo del database wait_timeout (che erano le 8 ore predefinite) nonostante le mie impostazioni C3P0. Tuttavia, ho risolto il problema modificando la configurazione di ibernazione nel nostro persistence.xml con:

<property name="hibernate.connection.release_mode" value="after_transaction" />

Sembra che il comportamento predefinito in ibernazione sia cambiato per non rilasciare la connessione dopo le transazioni, quindi devi impostare esplicitamente questa modalità se stai usando il pool.