The following code snippet is from the serveRequest() method of org.apache.catalina.servlets.InvokerServlet.java
----- String name = "org.apache.catalina.INVOKER." + servletClass; String pattern = inServletPath + "/" + servletClass + "/*"; Wrapper wrapper = null; // Synchronize to avoid race conditions when multiple requests // try to initialize the same servlet at the same time synchronized (this) { // Are we referencing an existing servlet class or name? wrapper = (Wrapper) context.findChild(servletClass); if (wrapper == null) wrapper = (Wrapper) context.findChild(name); if (wrapper != null) { if (debug >= 1) log("Using wrapper for servlet '" + wrapper.getName() + "' with mapping '" + pattern + "'"); context.addServletMapping(pattern, wrapper.getName()); } // No, create a new wrapper for the specified servlet class else { ----- What is the purpose of adding a servlet mapping of /servlet/$SERVLET/* for servlets serviced by the invoker ? context.addServletMapping is called on every request to the InvokerServlet and shows up on performance profiles. Removing it did not affect the behaviour of InvokerServlet but it eliminated this performance hotspot. Thanks, Arvind -- To unsubscribe, e-mail: <mailto:[EMAIL PROTECTED]> For additional commands, e-mail: <mailto:[EMAIL PROTECTED]>