Tomcat периодически обслуживает запросы - PullRequest
2 голосов
/ 09 июля 2010

Я недавно переключил свое веб-приложение с работы через встроенный экземпляр Jetty на автономный экземпляр Tomcat. Все отображается соответствующим образом, и Tomcat начинает обслуживать контент.

Однако мое приложение отправляет около 20 запросов AJAX POST к серверу одновременно (для загрузки различных элементов страницы). Это хорошо работает на Jetty, однако Tomcat обслуживает первые несколько, а затем возвращает следующий ответ для следующих одного или двух:

Server: Apache-Coyote/1.1
Content-Length: 0
Date: Fri, 09 Jul 2010 02:13:37 GMT

А затем продолжает обслуживать запросы, возвращая «пустые» ответы каждый 3-й или 4-й запрос. Я не думаю, что это проблема способа обработки запроса, так как а) он работает на Jetty и б) при обновлении страницы, некоторые запросы не были завершены до завершения, а некоторые - до завершения не завершены.

Мне интересно, если Tomcat недоволен тем, что его засыпают множеством запросов с одного и того же IP в одну и ту же секунду. Кто-нибудь знает как это исправить?

EDIT: Я считаю, что проблема связана с потоками. Если я заставлю мои сервлеты реализовать SingleThreadModel, проблема исчезнет (конечно, это устарело и неоптимально, я попытаюсь выяснить, где настоящая проблема). Я считаю, что причина, по которой он работал в Jetty, заключалась в том, что я использовал встроенный экземпляр Jetty (в отличие от отдельного экземпляра Jetty), который должен был использовать только один поток внутри моего приложения.

1 Ответ

0 голосов
/ 09 июля 2010

РЕДАКТИРОВАТЬ: Я считаю, что проблема связана с потоками.Если я заставлю мои сервлеты реализовать SingleThreadModel, проблема исчезнет

Скорее всего, вы назначаете данные области запроса и / или сеанса в качестве переменной экземпляра сервлета.

См. Также:

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...