Почти во всех крупных проектах Java, с которыми я связан, я заметил, что качество обслуживания приложения ухудшается с временем работы контейнера. Это, скорее всего, связано с утечками памяти в коде.
Правильный способ решить эту проблему - это, очевидно, отследить основную причину проблемы и устранить утечки в коде. Быстрый и грязный способ решения проблемы - просто перезапустить Tomcat (или любой контейнер сервлетов, который вы используете).
Это мои три вопроса:
-
Предположим, что вы решили решить проблему, проверив основную причину проблемы (утечка памяти), как бы вы собирали данные для увеличения проблемы?
-
Предположим, что вы выбрали быстрый и грязный способ ускорить процесс, просто перезапустив контейнер, как бы вы собирали данные для выбора оптимального цикла перезапуска?
-
Вы могли развертывать и запускать проекты в течение длительного периода времени, не перезапуская контейнер сервлета, чтобы восстановить привязанность? Или иногда сервлет перезапускает то, что нужно просто принять?