Веб-приложение вызывает хранимую процедуру для выполнения интенсивного обновления базы данных. Соответствующая часть web.xml
была обновлена до четырех часов:
240
Технологии, доступные для решения, включают Java 1.4.2, Struts 2, Tomcat 5.5 и общие ресурсы Apache. Большинство других технологий (таких как jQuery) не разрешены.
Обновление занимает около часа, однако значение конфигурации в четыре часа противоречит корпоративным стандартам (по уважительной причине). Конфигурация четырехчасового тайм-аута не разрешена в производственной среде.
Что гарантирует, что запрос не истечет во время обновления базы данных?
В первых двух случаях меня беспокоит следующее порожденный процесс в конечном итоге будет убит контейнером сервлета.
Аналогично Предотвращение тайм-аута сеанса в течение длительного времени обработки в JSF , но без jQuery.
Напишите простой сервер, который слушает запросы:
Поскольку сервер работает независимо от Tomcat, тайм-аут сеанса не может произойти. Обновление базы данных завершится без прерывания. Это связано с множеством проблем (обработка ошибок - не в последнюю очередь, что меня беспокоит), и, вероятно, это крайний вариант.
Оптимизация запроса до завершения менее чем за 30 минут (максимально допустимый тайм-аут) возможна, но, вероятно, запрос не может быть оптимизирован в достаточной степени.
Обновление оборудования базы данных не является необходимым вариант, к сожалению.
Большое спасибо!