У меня есть веб-приложение на Java, работающее на Tomcat, с Hibernate и C3P0. Все классы сущностей и контроллеры JPA были созданы с помощью Netbeans Wizzard. Существует сервлет, который при вызове вставляет много объектов в базу данных (используя контроллеры JPA).
Проблема в том, что, глядя на мое веб-приложение с Java VisualVM, я обнаружил, что существует много классов Timers и com.mchange.v2.async.ThreadPoolAsynchronousRunner, и они растут с течением времени. Для каждого таймера создано 3 темы.
Все Потоки и Таймеры находятся в состоянии WAIT, и я думаю, что эта проблема может быть вызвана ошибкой OutOfMemory (Java Heap Space), что приложение. производит. И хотя я вижу в MySQL Administrator, что все соединения закрываются, когда сервлет завершает задачу, возможно, некоторые объекты все еще находятся в памяти.
Это нормально, что C3P0 создает листья более 700 таймрасов и 2100 потоков в состоянии "WAIT"?
Спасибо
Эзекуэль