开发者

Tomcat selecting wrong servlet occasionally

开发者 https://www.devze.com 2023-04-10 05:47 出处:网络
I have a Java web application that serves up VXML pages to a VXML interpreter. Under sustained traffic conditions in a test lab, Tomcat (6.0.32) appears to be occasionally selecting the wrong servlet

I have a Java web application that serves up VXML pages to a VXML interpreter. Under sustained traffic conditions in a test lab, Tomcat (6.0.32) appears to be occasionally selecting the wrong servlet to handle the following page request:

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

Below is the complete list of servlets defined in my web.xml file. According to this, the first servlet should always process the above URL, but in a very small percentage of cases (below 0.1% across 100K+ requests during the course of a weekend), Tomcat routes it to the second servlet (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>

The following occurrences in the trace output from the most recent traffic run indicate the timing of these... somewhat spread out, so difficult to read anything into.

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

Appreciate any thoughts people might have on why this is happening.

0

精彩评论

暂无评论...
验证码 换一张
取 消

关注公众号