Volgens MySQL documentatie "kill connection thread_id" zou de verbinding moeten beëindigen die is gekoppeld aan de gegeven thread_id. Maar het lijkt erop dat dat niet gebeurt (in dat geval zal de Java-thread voor altijd op een antwoord wachten). Misschien kunt u controleren of de verbinding daadwerkelijk is gesloten met behulp van een netwerktool (bijv. netstat).
Ik ben eerder MySQL-verbindingen tegengekomen en moest mijn toevlucht nemen tot het gebruik van de socketTimeout JDBC-verbindingsparameter (maar wees voorzichtig:de socketTimeout moet groter zijn dan de tijd die nodig is om de langstlopende query te voltooien). U kunt ook proberen de QueryTimeout voor een voorbereide verklaring.