У меня просто есть веб-приложение, которое зависает через несколько минут.По сути, это приложение для создания и предварительного просмотра форм, очень настраиваемое, и после нескольких минут интенсивного взаимодействия с пользователем приложение просто перестает работать.Это означает, что запрос выполнен и никогда не возвращает ответ.
Я "немного" потерян, так как я не нахожу никакой подсказки о зависании в журналах tomcat и журналах приложений.Сервер приложений работает так же, как я использую lambda / psi-probe, и без проблем может проверить любое другое и даже проблемное приложение (само исследование - другое веб-приложение).
Приложение использует hibernate, который работалХорошо, в течение долгого времени, и, в последнее время, для повышения производительности (Hibernate вводит много запросов, если вы работаете исключительно с ним) Я ввел нативный sql через стандартное API java.sql.Я стараюсь не смешивать оба, и они используются только в jsp, сначала получая некоторые (несколько) объектов с помощью hibernate, а затем используя некоторую логику с jdbc.Сеанс Hibernate закрывается перед использованием jdbc.
Я прочитал кое-что о проблемах подключения к базе данных (я проверял несколько раз, и сервер базы данных работает нормально), взаимоблокировках или запущенных потоках, проверенных с помощью VisualVM в VisualVM.
Итак, кто-нибудь может дать подсказку о том, как найти или поймать ловушку?Может ли что-то дать ключ к использованию VisualVM для отлова или захвата гипотетического убегающего потока или тупика?Последнее просветило бы меня, поскольку я просто вижу ожидающие и работающие потоки.
Я использую tomcat 6.0.21 (я всегда пробовал 7.0.11 с одинаковыми результатами) java 1.6 на Mac OSX и Linux (машины для разработки и подготовки к выпуску))
Любые идеи обязательно будут приветствоваться, спасибо
Вилли