Tomcat иногда выбирает неверный сервлет - PullRequest
0 голосов
/ 04 октября 2011

У меня есть веб-приложение на Java, которое обслуживает страницы VXML для интерпретатора VXML.В условиях постоянного трафика в тестовой лаборатории Tomcat (6.0.32) иногда выбирает неправильный сервлет для обработки следующего запроса страницы:

http://localhost/<myapp>/Main.vxml?<some_query_params_that_get_ignored>

Ниже приведен полный список сервлетов, определенных в моей сети.XML-файлВ соответствии с этим первый сервлет должен всегда обрабатывать вышеуказанный URL-адрес, но в очень небольшом проценте случаев (менее 0,1% на 100 000 запросов в течение выходных) Tomcat направляет его на второй сервлет (CometControllerServlet).

<servlet>
    <servlet-name>MainVXML</servlet-name>
    <jsp-file>/WEB-INF/jsp/vxml/Main.jsp</jsp-file>
</servlet>
<servlet-mapping>
    <servlet-name>MainVXML</servlet-name>
    <url-pattern>/Main.vxml</url-pattern>
</servlet-mapping>

<servlet>
   <servlet-name>ABPAsync</servlet-name>
   <servlet-class>com.avaya.cc.aaeplite.web.CometControllerServlet</servlet-class>
</servlet>
<servlet-mapping>
    <servlet-name>ABPAsync</servlet-name>
    <url-pattern>/async/*</url-pattern>
</servlet-mapping>

<servlet>
    <servlet-name>ABP</servlet-name>
    <servlet-class>org.springframework.web.servlet.DispatcherServlet</servlet-class>
</servlet>
<servlet-mapping>
    <servlet-name>ABP</servlet-name>
    <url-pattern>/app/*</url-pattern>
</servlet-mapping>

Следующие вхождения в выводе трассировки из самого последнего прогона трафика указывают время этих ... несколько разбросанных, поэтому трудно что-либо читать в.

27 16:29:54.880 ERROR <http-6080-exec-2    > [ite.web.CometControllerServlet]  perform() Invalid Request Type: Main.vxml
27 17:36:40.773 ERROR <http-6080-exec-2    > [ite.web.CometControllerServlet]  perform() Invalid Request Type: Main.vxml
27 19:08:18.705 ERROR <http-6080-exec-4    > [ite.web.CometControllerServlet]  perform() Invalid Request Type: Main.vxml
27 19:19:58.799 ERROR <http-6080-exec-5    > [ite.web.CometControllerServlet]  perform() Invalid Request Type: Main.vxml
27 19:49:14.688 ERROR <http-6080-exec-1    > [ite.web.CometControllerServlet]  perform() Invalid Request Type: Main.vxml
27 19:49:34.721 ERROR <http-6080-exec-3    > [ite.web.CometControllerServlet]  perform() Invalid Request Type: Main.vxml
28 07:15:30.835 ERROR <http-6080-exec-7    > [ite.web.CometControllerServlet]  perform() Invalid Request Type: Main.vxml

Ценить любыемысли, которые могут возникнуть у людей о том, почему это происходит.

...