Mysql
 sql >> Base de données >  >> RDS >> Mysql

application Java, le thread se bloque après avoir tué la connexion MySQL

Selon MySQL documentation "kill connection thread_id" doit mettre fin à la connexion associée au thread_id donné. Mais il semble que cela ne se produise pas (auquel cas le thread Java attendra une réponse pour toujours). Vous pouvez peut-être vérifier que la connexion est réellement fermée à l'aide d'un outil réseau (par exemple, netstat) .

J'ai déjà rencontré des connexions MySQL suspendues et j'ai dû utiliser le socketTimeout Paramètre de connexion JDBC (mais attention :le socketTimeout doit être supérieur au temps nécessaire pour terminer la requête la plus longue). Vous pouvez également essayer d'utiliser le QueryTimeout pour une déclaration préparée.