Theo MySQL tài liệu "kill connection thread_id" sẽ chấm dứt kết nối được liên kết với thread_id đã cho. Nhưng có vẻ như điều đó không xảy ra (trong trường hợp đó, chuỗi Java sẽ đợi câu trả lời mãi mãi). Có thể bạn có thể xác minh rằng kết nối đã thực sự bị đóng bằng cách sử dụng một số công cụ mạng (ví dụ:netstat).
Tôi đã gặp phải sự cố treo các kết nối MySQL trước đây và phải sử dụng socketTimeout Tham số kết nối JDBC (nhưng hãy cẩn thận:socketTimeout cần phải lớn hơn thời gian cần thiết để hoàn thành truy vấn đang chạy lâu nhất). Bạn cũng có thể thử sử dụng QueryTimeout cho một tuyên bố đã chuẩn bị.