A conexão falhou, possivelmente devido a um tempo limite de inatividade do firewall, etc. Se você não tiver seu driver JDBC configurado para reconectar em caso de falha, esse erro não desaparecerá a menos que você abra uma nova conexão.
Se você estiver usando um pool de conexões de banco de dados (você está usando um, certo?), então você provavelmente deseja habilitar seus recursos de verificação de conexão, como emitir uma consulta para verificar se a conexão está funcionando antes de devolvê-la ao aplicativo. No Apache commons-dbcp, isso é chamado de
validationQuery
e geralmente é definido como algo simples como SELECT 1
. Como você está usando o MySQL, você deve usar uma consulta "ping" específica do Connector/J que seja mais leve do que realmente emitir uma consulta SQL verdadeira e definir sua consulta de validação para
/* ping */ SELECT 1 (a parte do ping precisa para ser exato
).