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

Intermittente JDBC tubo rotto e collegamento guasto

Un Broken pipe messaggio significa che l'altra estremità ha chiuso la connessione, probabilmente a causa di un ordine errato di pacchetti ricevuti, o perché lo stato tra client e server non è sincronizzato o qualcosa del genere. Forse c'è un firewall tra la tua applicazione e il server che uccide le connessioni persistenti? O forse non si è verificato nulla sul tubo (connessione) per un po' di tempo e il server l'ha chiuso? In ogni caso, se stai utilizzando un meccanismo di pooling delle connessioni (dovresti!) , dovrebbe essere possibile delegare ad esso la gestione di tali situazioni.

Oppure, se intendi utilizzare sempre MySQL, puoi provare ad aggiungere failOverReadOnly=false&maxReconnects=10&autoReconnect=true alla stringa di connessione. Questo è specifico per il driver MySQL JDBC, quindi ti consiglierei davvero di configurare il tuo meccanismo di pool di connessioni per testare le connessioni prima di distribuirle alla tua applicazione.