У меня странная проблема на рабочем компьютере, и, возможно, вы решите проблему. Я в настоящее время развиваюсь в Джи, и у меня есть проблемы, касающиеся MySQL DB.
Скажем, у меня есть это:
for(int i = 0; i<20; i++)
{
//Simple select query on my MySQL DB
System.out.println("foo");
}
И мой вывод:
фу фу фу фу
Как видите, цикл for для меня как-то останавливается на 4 итерациях. Но после некоторой длительной отладки я обнаружил, что каким-то образом getConnection() застрял в потоке, и даже после 2 часов ожидания он все еще заблокирован. Проблема, однако, более сложная, потому что она не происходит сбой каждый раз в том же getConnection().
Мои старые проекты тоже не работают, поэтому я думаю, что это не проблема кода. Я попытался переустановить Eclipse, WampServer, перейти на Java 1.7 (сейчас у меня 1.8), попробовал tomcat 9 (сейчас я tomcat 8), я удалил и заново импортировал полностью свежую и новую БД на случай, если какая-то была поврежденные данные. Опробовав новую рабочую область с новым проектом, я также обновил свои библиотеки и файлы, которые я использую в пути сборки и времени выполнения.
Но это все еще не работает, и это становится действительно очень расстраивающим. Так что если у вас есть идея, дайте мне знать.
Спасибо за ответы.
Последняя строка моих журналов MySQL: количество запросов SELECT (*) ОТ a_lcolang ГДЕ wsId = 17474.
Итак, как мы видим, это действительно простой запрос.
Мой показ полного журнала процесса
То, как я создаю соединение и как я его выпускаю, на мой взгляд, не проблема, потому что я использую метод, который существует, существует очень давно. Не говоря уже о том, что он больше не работает на старых проектах, которые работали совершенно нормально (если бы не продукт уже был бы не работает).
SHOW PROCESSLIST
на сервере во время ожидания запроса?