Um
Broken pipe
mensagem significa que a outra extremidade fechou a conexão, possivelmente devido a uma ordem errada de pacotes recebidos, ou porque o estado entre cliente e servidor não está sincronizado ou algo assim. Talvez haja um firewall entre seu aplicativo e o servidor que mata conexões persistentes? Ou talvez não houvesse nada acontecendo no tubo (conexão) por algum tempo e o servidor o fechou? De qualquer forma, se você estiver usando um mecanismo de pool de conexões (você deveria!)
, deve ser possível delegar o tratamento de tais situações para ele. Ou, se você pretende sempre usar o MySQL, tente adicionar
failOverReadOnly=false&maxReconnects=10&autoReconnect=true
à sua cadeia de conexão. Isso é específico para o driver MySQL JDBC, então, eu realmente aconselho você a configurar seu mecanismo de pool de conexão para testar as conexões antes de entregá-las ao seu aplicativo.