Upewnij się, że nie używasz martwego połączenia jdbc. W zależności od tego, jak tworzysz połączenie jdbc, mogą one być bezczynne. Jeśli używasz tego samego połączenia w kółko, przetestuj połączenie, zanim spróbujesz wysłać zapytanie i uzyskać nowe, jeśli zostało zamknięte przez mysql.
AKTUALIZACJA:
Nowe połączenie tworzysz wszędzie z wyjątkiem metody getResult(), z której ślad stosu identyfikuje błąd. Możesz utworzyć nowe połączenie, tak jak robisz to wszędzie indziej, lub poprawić enkapsulację funkcji getConnection(). Innymi słowy, zmień getConnection(), aby zwrócić statyczne połączenie przechowywane w twojej klasie, pod warunkiem, że nie jest ono puste i nadal jest ważne. W przeciwnym razie utwórz nowe połączenie i zwróć je.