Un Broken pipe
signifie que l'autre extrémité a fermé la connexion, peut-être à cause d'un mauvais ordre des paquets reçus, ou parce que l'état entre le client et le serveur n'est pas synchronisé ou quelque chose comme ça. Peut-être y a-t-il un pare-feu entre votre application et le serveur qui tue les connexions persistantes ? Ou peut-être qu'il n'y avait rien sur le tuyau (connexion) pendant un certain temps et que le serveur l'a fermé ? Dans tous les cas, si vous utilisez un mécanisme de regroupement de connexions (vous devriez !)
, il devrait être possible de lui déléguer le traitement de telles situations.
Ou, si vous avez l'intention de toujours utiliser MySQL, vous pouvez essayer d'ajouter failOverReadOnly=false&maxReconnects=10&autoReconnect=true
à votre chaîne de connexion. Ceci est spécifique au pilote MySQL JDBC, donc, je vous conseille vraiment de configurer votre mécanisme de regroupement de connexions pour tester les connexions avant de les livrer à votre application.