cvs commit: jakarta-tomcat-catalina/catalina/src/share/org/apache/catalina/core StandardWrapper.java
remm2005/03/11 08:34:58 Modified:catalina/src/share/org/apache/catalina/core StandardWrapper.java Log: - Use the standard logger names for wrappers (otherwise, exceptions and other logging will go to the wrong places). Revision ChangesPath 1.58 +1 -19 jakarta-tomcat-catalina/catalina/src/share/org/apache/catalina/core/StandardWrapper.java Index: StandardWrapper.java === RCS file: /home/cvs/jakarta-tomcat-catalina/catalina/src/share/org/apache/catalina/core/StandardWrapper.java,v retrieving revision 1.57 retrieving revision 1.58 diff -u -r1.57 -r1.58 --- StandardWrapper.java 6 Feb 2005 10:39:32 - 1.57 +++ StandardWrapper.java 11 Mar 2005 16:34:58 - 1.58 @@ -1559,24 +1559,6 @@ } -/** - * Log the abbreviated name of this Container for logging messages. - */ -protected String logName() { - -StringBuffer sb = new StringBuffer(StandardWrapper[); -if (getParent() != null) -sb.append(getParent().getName()); -else -sb.append(null); -sb.append(':'); -sb.append(getName()); -sb.append(']'); -return (sb.toString()); - -} - - private Method[] getAllDeclaredMethods(Class c) { if (c.equals(javax.servlet.http.HttpServlet.class)) { - To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]
cvs commit: jakarta-tomcat-catalina/catalina/src/share/org/apache/catalina/core StandardWrapper.java
luehe 2004/10/28 09:42:37 Modified:catalina/src/share/org/apache/catalina/core StandardWrapper.java Log: Prevent NPE when servlet class is not an instance of HttpServlet. Return hardcoded set of methods in this case. Revision ChangesPath 1.55 +13 -3 jakarta-tomcat-catalina/catalina/src/share/org/apache/catalina/core/StandardWrapper.java Index: StandardWrapper.java === RCS file: /home/cvs/jakarta-tomcat-catalina/catalina/src/share/org/apache/catalina/core/StandardWrapper.java,v retrieving revision 1.54 retrieving revision 1.55 diff -u -r1.54 -r1.55 --- StandardWrapper.java 27 Oct 2004 22:58:17 - 1.54 +++ StandardWrapper.java 28 Oct 2004 16:42:37 - 1.55 @@ -73,6 +73,10 @@ private static org.apache.commons.logging.Log log= org.apache.commons.logging.LogFactory.getLog( StandardWrapper.class ); + +private static final String[] DEFAULT_SERVLET_METHODS = new String[] { +GET, HEAD, POST }; + // --- Constructors @@ -563,12 +567,18 @@ * servlet */ public String[] getServletMethods() throws ServletException { - + +Class servletClazz = loadServlet().getClass(); +if (!javax.servlet.http.HttpServlet.class.isAssignableFrom( +servletClazz)) { +return DEFAULT_SERVLET_METHODS; +} + HashSet allow = new HashSet(); allow.add(TRACE); allow.add(OPTIONS); -Method[] methods = getAllDeclaredMethods(loadServlet().getClass()); +Method[] methods = getAllDeclaredMethods(servletClazz); for (int i=0; methods != null imethods.length; i++) { Method m = methods[i]; - To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]
cvs commit: jakarta-tomcat-catalina/catalina/src/share/org/apache/catalina/core StandardWrapper.java mbeans-descriptors.xml
luehe 2004/10/26 14:55:43 Modified:catalina/src/share/org/apache/catalina/core StandardWrapper.java mbeans-descriptors.xml Log: Removed ServiceTime property that I had added previously. JSR 77 defines ServiceTime to be of type TimeStatistic, which is a combination of requestCount, processingTime, minTime, and maxTime, all of which are already exposed. Revision ChangesPath 1.53 +1 -14 jakarta-tomcat-catalina/catalina/src/share/org/apache/catalina/core/StandardWrapper.java Index: StandardWrapper.java === RCS file: /home/cvs/jakarta-tomcat-catalina/catalina/src/share/org/apache/catalina/core/StandardWrapper.java,v retrieving revision 1.52 retrieving revision 1.53 diff -u -r1.52 -r1.53 --- StandardWrapper.java 21 Oct 2004 19:03:46 - 1.52 +++ StandardWrapper.java 26 Oct 2004 21:55:43 - 1.53 @@ -1360,19 +1360,6 @@ swValve.setProcessingTime(processingTime); } -/** - * Returns the execution time of the servlet's service method. - * - * This method is identical in functionality to getProcessingTime(), - * except that it exposes the execution time of the servlet's service - * method under the JSR 77 compliant property name. - * - * @return Execution time of the servlet's service method - */ -public long getServiceTime() { -return swValve.getProcessingTime(); -} - public long getMaxTime() { return swValve.getMaxTime(); } 1.39 +1 -6 jakarta-tomcat-catalina/catalina/src/share/org/apache/catalina/core/mbeans-descriptors.xml Index: mbeans-descriptors.xml === RCS file: /home/cvs/jakarta-tomcat-catalina/catalina/src/share/org/apache/catalina/core/mbeans-descriptors.xml,v retrieving revision 1.38 retrieving revision 1.39 diff -u -r1.38 -r1.39 --- mbeans-descriptors.xml21 Oct 2004 19:03:46 - 1.38 +++ mbeans-descriptors.xml26 Oct 2004 21:55:43 - 1.39 @@ -581,12 +581,7 @@ type=boolean/ attribute name=processingTime - description=Execution time of the servlet's service method - type=long - writeable=false / - -attribute name=serviceTime - description=Execution time of the servlet's service method + description=Total execution time of the servlet's service method type=long writeable=false / - To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]
cvs commit: jakarta-tomcat-catalina/catalina/src/share/org/apache/catalina/core StandardWrapper.java mbeans-descriptors.xml
luehe 2004/10/21 12:03:46 Modified:catalina/src/share/org/apache/catalina/core StandardWrapper.java mbeans-descriptors.xml Log: Expose execution time of the servlet's service method under JSR 77 compliant name (ServiceTime) Revision ChangesPath 1.52 +14 -1 jakarta-tomcat-catalina/catalina/src/share/org/apache/catalina/core/StandardWrapper.java Index: StandardWrapper.java === RCS file: /home/cvs/jakarta-tomcat-catalina/catalina/src/share/org/apache/catalina/core/StandardWrapper.java,v retrieving revision 1.51 retrieving revision 1.52 diff -u -r1.51 -r1.52 --- StandardWrapper.java 7 Oct 2004 18:09:10 - 1.51 +++ StandardWrapper.java 21 Oct 2004 19:03:46 - 1.52 @@ -1360,6 +1360,19 @@ swValve.setProcessingTime(processingTime); } +/** + * Returns the execution time of the servlet's service method. + * + * This method is identical in functionality to getProcessingTime(), + * except that it exposes the execution time of the servlet's service + * method under the JSR 77 compliant property name. + * + * @return Execution time of the servlet's service method + */ +public long getServiceTime() { +return swValve.getProcessingTime(); +} + public long getMaxTime() { return swValve.getMaxTime(); } 1.38 +6 -1 jakarta-tomcat-catalina/catalina/src/share/org/apache/catalina/core/mbeans-descriptors.xml Index: mbeans-descriptors.xml === RCS file: /home/cvs/jakarta-tomcat-catalina/catalina/src/share/org/apache/catalina/core/mbeans-descriptors.xml,v retrieving revision 1.37 retrieving revision 1.38 diff -u -r1.37 -r1.38 --- mbeans-descriptors.xml5 Oct 2004 17:12:50 - 1.37 +++ mbeans-descriptors.xml21 Oct 2004 19:03:46 - 1.38 @@ -581,7 +581,12 @@ type=boolean/ attribute name=processingTime - description=Cumulative processing time + description=Execution time of the servlet's service method + type=long + writeable=false / + +attribute name=serviceTime + description=Execution time of the servlet's service method type=long writeable=false / - To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]
cvs commit: jakarta-tomcat-catalina/catalina/src/share/org/apache/catalina/core StandardWrapper.java
luehe 2004/10/07 11:09:10 Modified:catalina/src/share/org/apache/catalina/core StandardWrapper.java Log: Added comment Revision ChangesPath 1.51 +5 -1 jakarta-tomcat-catalina/catalina/src/share/org/apache/catalina/core/StandardWrapper.java Index: StandardWrapper.java === RCS file: /home/cvs/jakarta-tomcat-catalina/catalina/src/share/org/apache/catalina/core/StandardWrapper.java,v retrieving revision 1.50 retrieving revision 1.51 diff -u -r1.50 -r1.51 --- StandardWrapper.java 6 Oct 2004 17:10:24 - 1.50 +++ StandardWrapper.java 7 Oct 2004 18:09:10 - 1.51 @@ -338,6 +338,10 @@ String oldJspFile = this.jspFile; this.jspFile = jspFile; support.firePropertyChange(jspFile, oldJspFile, this.jspFile); + +// Each jsp-file needs to be represented by its own JspServlet and +// corresponding JspMonitoring mbean, because it may be initialized +// with its own init params isJspServlet = true; } - To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]
cvs commit: jakarta-tomcat-catalina/catalina/src/share/org/apache/catalina/core StandardWrapper.java
luehe 2004/10/04 09:40:57 Modified:catalina/src/share/org/apache/catalina/core StandardWrapper.java Log: Share the same JspServlet instance between - all JSPs that are referened as a jsp-file inside a servlet declaration - all other JSPs We used to instantiate a JspServlet for each jsp-file inside a servlet, leading to inaccurate JSP stats Revision ChangesPath 1.48 +2 -2 jakarta-tomcat-catalina/catalina/src/share/org/apache/catalina/core/StandardWrapper.java Index: StandardWrapper.java === RCS file: /home/cvs/jakarta-tomcat-catalina/catalina/src/share/org/apache/catalina/core/StandardWrapper.java,v retrieving revision 1.47 retrieving revision 1.48 diff -u -r1.47 -r1.48 --- StandardWrapper.java 1 Oct 2004 01:18:12 - 1.47 +++ StandardWrapper.java 4 Oct 2004 16:40:57 - 1.48 @@ -867,7 +867,6 @@ Wrapper jspWrapper = (Wrapper) ((Context) getParent()).findChild(Constants.JSP_SERVLET_NAME); if (jspWrapper != null) { -actualClass = jspWrapper.getServletClass(); // Merge init parameters String paramNames[] = jspWrapper.findInitParameters(); for (int i = 0; i paramNames.length; i++) { @@ -877,6 +876,7 @@ jspWrapper.findInitParameter(paramNames[i])); } } +return jspWrapper.allocate(); } } - To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]
cvs commit: jakarta-tomcat-catalina/catalina/src/share/org/apache/catalina/core StandardWrapper.java
remm2004/06/07 05:02:34 Modified:catalina/src/share/org/apache/catalina/core StandardWrapper.java Log: - Merge init-params from the JSP servlet when using a JSP file, as it is intuitive users will expect the usual shared parameters to be used for the compilation of this servlet. Revision ChangesPath 1.43 +12 -2 jakarta-tomcat-catalina/catalina/src/share/org/apache/catalina/core/StandardWrapper.java Index: StandardWrapper.java === RCS file: /home/cvs/jakarta-tomcat-catalina/catalina/src/share/org/apache/catalina/core/StandardWrapper.java,v retrieving revision 1.42 retrieving revision 1.43 diff -u -r1.42 -r1.43 --- StandardWrapper.java 26 May 2004 15:41:29 - 1.42 +++ StandardWrapper.java 7 Jun 2004 12:02:34 - 1.43 @@ -892,8 +892,18 @@ if ((actualClass == null) (jspFile != null)) { Wrapper jspWrapper = (Wrapper) ((Context) getParent()).findChild(Constants.JSP_SERVLET_NAME); -if (jspWrapper != null) +if (jspWrapper != null) { actualClass = jspWrapper.getServletClass(); +// Merge init parameters +String paramNames[] = jspWrapper.findInitParameters(); +for (int i = 0; i paramNames.length; i++) { +if (parameters.get(paramNames[i]) == null) { +parameters.put +(paramNames[i], + jspWrapper.findInitParameter(paramNames[i])); +} +} +} } // Complain if no servlet class has been specified - To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]
cvs commit: jakarta-tomcat-catalina/catalina/src/share/org/apache/catalina/core StandardWrapper.java
yoavs 2004/05/26 08:41:29 Modified:catalina/src/share/org/apache/catalina/core StandardWrapper.java Log: Minor JavaDoc fixes (Bugzilla 11212) Revision ChangesPath 1.42 +2 -2 jakarta-tomcat-catalina/catalina/src/share/org/apache/catalina/core/StandardWrapper.java Index: StandardWrapper.java === RCS file: /home/cvs/jakarta-tomcat-catalina/catalina/src/share/org/apache/catalina/core/StandardWrapper.java,v retrieving revision 1.41 retrieving revision 1.42 diff -u -r1.41 -r1.42 --- StandardWrapper.java 7 Apr 2004 02:31:08 - 1.41 +++ StandardWrapper.java 26 May 2004 15:41:29 - 1.42 @@ -624,7 +624,7 @@ /** * Add a mapping associated with the Wrapper. * - * @param pattern The new wrapper mapping + * @param mapping The new wrapper mapping */ public void addMapping(String mapping) { - To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]
cvs commit: jakarta-tomcat-catalina/catalina/src/share/org/apache/catalina/core StandardWrapper.java
luehe 2004/04/06 19:31:08 Modified:catalina/src/share/org/apache/catalina/core StandardWrapper.java Log: JspServlet (global or webapp-specific) must always be preloaded, because its instance is used during registerJMX (when registering the JSP monitoring mbean) Revision ChangesPath 1.41 +11 -3 jakarta-tomcat-catalina/catalina/src/share/org/apache/catalina/core/StandardWrapper.java Index: StandardWrapper.java === RCS file: /home/cvs/jakarta-tomcat-catalina/catalina/src/share/org/apache/catalina/core/StandardWrapper.java,v retrieving revision 1.40 retrieving revision 1.41 diff -u -r1.40 -r1.41 --- StandardWrapper.java 20 Mar 2004 01:35:02 - 1.40 +++ StandardWrapper.java 7 Apr 2004 02:31:08 - 1.41 @@ -378,8 +378,16 @@ */ public int getLoadOnStartup() { -return (this.loadOnStartup); - +if (isJspServlet loadOnStartup 0) { +/* + * JspServlet must always be preloaded, because its instance is + * used during registerJMX (when registering the JSP + * monitoring mbean) + */ + return Integer.MAX_VALUE; +} else { +return (this.loadOnStartup); +} } - To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]
cvs commit: jakarta-tomcat-catalina/catalina/src/share/org/apache/catalina/core StandardWrapper.java
luehe 2004/03/19 17:35:02 Modified:catalina/src/share/org/apache/catalina/core StandardWrapper.java Log: Changed oname format of JSP monitoring mbean. The new format is: domain:type=JspMonitor,WebModule=webmod,J2EEApplication=j2ee-app,J2EEServer=j2ee-server Revision ChangesPath 1.40 +5 -6 jakarta-tomcat-catalina/catalina/src/share/org/apache/catalina/core/StandardWrapper.java Index: StandardWrapper.java === RCS file: /home/cvs/jakarta-tomcat-catalina/catalina/src/share/org/apache/catalina/core/StandardWrapper.java,v retrieving revision 1.39 retrieving revision 1.40 diff -u -r1.39 -r1.40 --- StandardWrapper.java 9 Mar 2004 18:51:29 - 1.39 +++ StandardWrapper.java 20 Mar 2004 01:35:02 - 1.40 @@ -1607,7 +1607,6 @@ ,WebModule= + webMod + ,J2EEApplication= + ctx.getJ2EEApplication() + ,J2EEServer= + ctx.getJ2EEServer(); - try { oname=new ObjectName(onameStr); controller=oname; @@ -1628,11 +1627,11 @@ if (isJspServlet) { // Register JSP monitoring mbean +onameStr = domain + :type=JspMonitor,WebModule= + webMod + + ,J2EEApplication= + ctx.getJ2EEApplication() + + ,J2EEServer= + ctx.getJ2EEServer(); try { -jspMonitorON = new ObjectName(domain + - :type=JspMonitor,path= + - parentName + ,host= + - hostName); +jspMonitorON = new ObjectName(onameStr); Registry.getRegistry(null, null) .registerComponent(instance, jspMonitorON, null); } catch( Exception ex ) { - To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]
cvs commit: jakarta-tomcat-catalina/catalina/src/share/org/apache/catalina/core StandardWrapper.java
remm2004/03/09 10:51:29 Modified:catalina/src/share/org/apache/catalina/core StandardWrapper.java Log: - Fix object name. Revision ChangesPath 1.39 +2 -2 jakarta-tomcat-catalina/catalina/src/share/org/apache/catalina/core/StandardWrapper.java Index: StandardWrapper.java === RCS file: /home/cvs/jakarta-tomcat-catalina/catalina/src/share/org/apache/catalina/core/StandardWrapper.java,v retrieving revision 1.38 retrieving revision 1.39 diff -u -r1.38 -r1.39 --- StandardWrapper.java 8 Mar 2004 16:52:46 - 1.38 +++ StandardWrapper.java 9 Mar 2004 18:51:29 - 1.39 @@ -1630,7 +1630,7 @@ // Register JSP monitoring mbean try { jspMonitorON = new ObjectName(domain + - :type=JspMonitor,path= + + :type=JspMonitor,path= + parentName + ,host= + hostName); Registry.getRegistry(null, null) - To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]
cvs commit: jakarta-tomcat-catalina/catalina/src/share/org/apache/catalina/core StandardWrapper.java
luehe 2004/03/08 08:52:46 Modified:catalina/src/share/org/apache/catalina/core StandardWrapper.java Log: Added JSP monitoring facility. Initially, the number of JSPs that have been loaded into a webapp is exposed as a monitorable attribute. Additional attributes (e.g., number of JSPs whose compilation failed, etc.) may follow. Revision ChangesPath 1.38 +52 -13 jakarta-tomcat-catalina/catalina/src/share/org/apache/catalina/core/StandardWrapper.java Index: StandardWrapper.java === RCS file: /home/cvs/jakarta-tomcat-catalina/catalina/src/share/org/apache/catalina/core/StandardWrapper.java,v retrieving revision 1.37 retrieving revision 1.38 diff -u -r1.37 -r1.38 --- StandardWrapper.java 27 Feb 2004 14:58:42 - 1.37 +++ StandardWrapper.java 8 Mar 2004 16:52:46 - 1.38 @@ -219,6 +219,18 @@ /** + * True if this StandardWrapper is for the JspServlet + */ +private boolean isJspServlet; + + +/** + * The ObjectName of the JSP monitoring mbean + */ +private ObjectName jspMonitorON; + + +/** * Should we swallow System.out */ private boolean swallowOutput = false; @@ -502,7 +514,9 @@ this.servletClass = servletClass; support.firePropertyChange(servletClass, oldServletClass, this.servletClass); - +if (Constants.JSP_SERVLET_CLASS.equals(servletClass)) { +isJspServlet = true; +} } @@ -1571,21 +1585,30 @@ sequenceNumber++); broadcaster.sendNotification(notification); } + +if (isJspServlet jspMonitorON != null ) { +Registry.getRegistry(null, null).unregisterComponent(jspMonitorON); +} + } protected void registerJMX(StandardContext ctx) { + +String parentName = ctx.getName(); +parentName = (.equals(parentName)) ? / : parentName; + +String hostName = ctx.getParent().getName(); +hostName = (hostName==null) ? DEFAULT : hostName; + +String domain = ctx.getDomain(); + +String webMod= // + hostName + parentName; +String onameStr = domain + :j2eeType=Servlet,name= + getName() + + ,WebModule= + webMod + ,J2EEApplication= + + ctx.getJ2EEApplication() + ,J2EEServer= + + ctx.getJ2EEServer(); + try { -// it should be full name -String parentName=ctx.getName(); -String hostName=ctx.getParent().getName(); -String webMod= // + ((hostName==null)? DEFAULT :hostName ) + -((.equals(parentName) ) ? / : parentName ); -String onameStr=ctx.getDomain() + -:j2eeType=Servlet,name= + getName() + ,WebModule= + -webMod + ,J2EEApplication= + -ctx.getJ2EEApplication() + ,J2EEServer= + -ctx.getJ2EEServer(); - oname=new ObjectName(onameStr); controller=oname; Registry.getRegistry(null, null) @@ -1602,6 +1625,22 @@ } catch( Exception ex ) { log.info(Error registering servlet with jmx + this); } + +if (isJspServlet) { +// Register JSP monitoring mbean +try { +jspMonitorON = new ObjectName(domain + + :type=JspMonitor,path= + + parentName + ,host= + + hostName); +Registry.getRegistry(null, null) +.registerComponent(instance, jspMonitorON, null); +} catch( Exception ex ) { +log.info(Error registering JSP monitoring with jmx + + instance); +} +} + } - To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]
cvs commit: jakarta-tomcat-catalina/catalina/src/share/org/apache/catalina/core StandardWrapper.java StandardWrapperValve.java mbeans-descriptors.xml
remm2003/12/22 09:47:43 Modified:catalina/src/share/org/apache/catalina/core StandardWrapper.java StandardWrapperValve.java mbeans-descriptors.xml Log: - Add a minTime attribute on servlets. Revision ChangesPath 1.35 +12 -4 jakarta-tomcat-catalina/catalina/src/share/org/apache/catalina/core/StandardWrapper.java Index: StandardWrapper.java === RCS file: /home/cvs/jakarta-tomcat-catalina/catalina/src/share/org/apache/catalina/core/StandardWrapper.java,v retrieving revision 1.34 retrieving revision 1.35 diff -u -r1.34 -r1.35 --- StandardWrapper.java 15 Oct 2003 18:47:49 - 1.34 +++ StandardWrapper.java 22 Dec 2003 17:47:43 - 1.35 @@ -1408,6 +1408,14 @@ swValve.setMaxTime(maxTime); } +public long getMinTime() { +return swValve.getMinTime(); +} + +public void setMinTime(long minTime) { +swValve.setMinTime(minTime); +} + public int getRequestCount() { return swValve.getRequestCount(); } 1.24 +11 -1 jakarta-tomcat-catalina/catalina/src/share/org/apache/catalina/core/StandardWrapperValve.java Index: StandardWrapperValve.java === RCS file: /home/cvs/jakarta-tomcat-catalina/catalina/src/share/org/apache/catalina/core/StandardWrapperValve.java,v retrieving revision 1.23 retrieving revision 1.24 diff -u -r1.23 -r1.24 --- StandardWrapperValve.java 15 Oct 2003 18:47:49 - 1.23 +++ StandardWrapperValve.java 22 Dec 2003 17:47:43 - 1.24 @@ -109,6 +109,7 @@ // are here for performance. private long processingTime; private long maxTime; +private long minTime = Long.MAX_VALUE; private int requestCount; private int errorCount; @@ -371,6 +372,7 @@ long time=t2-t1; processingTime += time; if( time maxTime) maxTime=time; +if( time minTime) minTime=time; } @@ -466,6 +468,14 @@ public void setMaxTime(long maxTime) { this.maxTime = maxTime; +} + +public long getMinTime() { +return minTime; +} + +public void setMinTime(long minTime) { +this.minTime = minTime; } public int getRequestCount() { 1.27 +5 -0 jakarta-tomcat-catalina/catalina/src/share/org/apache/catalina/core/mbeans-descriptors.xml Index: mbeans-descriptors.xml === RCS file: /home/cvs/jakarta-tomcat-catalina/catalina/src/share/org/apache/catalina/core/mbeans-descriptors.xml,v retrieving revision 1.26 retrieving revision 1.27 diff -u -r1.26 -r1.27 --- mbeans-descriptors.xml30 Nov 2003 14:33:29 - 1.26 +++ mbeans-descriptors.xml22 Dec 2003 17:47:43 - 1.27 @@ -772,6 +772,11 @@ type=long writeable=false / +attribute name=minTime + description=Minimum processing time of a request + type=long + writeable=false / + attribute name=requestCount description=Number of requests processed by this wrapper type=int - To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]
Re: cvs commit: jakarta-tomcat-catalina/catalina/src/share/org/apache/catalina/core StandardWrapper.java StandardWrapperValve.java mbeans-descriptors.xml
Is there more to this? What is this for? -Tim [EMAIL PROTECTED] wrote: remm2003/12/22 09:47:43 Modified:catalina/src/share/org/apache/catalina/core StandardWrapper.java StandardWrapperValve.java mbeans-descriptors.xml Log: - Add a minTime attribute on servlets. - To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]
Re: cvs commit: jakarta-tomcat-catalina/catalina/src/share/org/apache/catalina/core StandardWrapper.java StandardWrapperValve.java mbeans-descriptors.xml
Tim Funk wrote: Is there more to this? What is this for? It gives the minimum amount of time for processing a request for the servlet. I think this is not 100% useless (but probably very close to), and I found the idea for the attribute in JBoss (in the JSR 77 code). Rémy - To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]
Re: cvs commit: jakarta-tomcat-catalina/catalina/src/share/org/apache/catalina/core StandardWrapper.java
[EMAIL PROTECTED] wrote: luehe 2003/09/17 16:26:33 Modified:catalina/src/share/org/apache/catalina/core StandardWrapper.java Log: Fix for Bugtraq 4924326 (JMX registrations of servlets that map to the same jsp-file use the same name) There was also a similar issue in the request dispatcher, where the mapped servlet path was overriden (for no good reason IMO) with the JSP file. What was the reasoning behind this code ? Remy - To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]
Re: cvs commit: jakarta-tomcat-catalina/catalina/src/share/org/apache/catalina/core StandardWrapper.java
Remy Maucherat wrote: [EMAIL PROTECTED] wrote: luehe 2003/09/17 16:26:33 Modified:catalina/src/share/org/apache/catalina/core StandardWrapper.java Log: Fix for Bugtraq 4924326 (JMX registrations of servlets that map to the same jsp-file use the same name) There was also a similar issue in the request dispatcher, where the mapped servlet path was overriden (for no good reason IMO) with the JSP file. What was the reasoning behind this code ? I don't see any reference to StandardWrapper.getJspFile() in ApplicationDispatcher (other than to set the Globals.JSP_FILE_ATTR request attribute), so this should not be an issue any more. Jan - To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]
cvs commit: jakarta-tomcat-catalina/catalina/src/share/org/apache/catalina/core StandardWrapper.java
luehe 2003/09/17 16:26:33 Modified:catalina/src/share/org/apache/catalina/core StandardWrapper.java Log: Fix for Bugtraq 4924326 (JMX registrations of servlets that map to the same jsp-file use the same name) This allows for the following 2 servlets, which map to the same jsp-file, to be distinguished. servlet servlet-namexxx/servlet-name jsp-file/jsp/test.jsp/jsp-file /servlet servlet servlet-nameyyy/servlet-name jsp-file/jsp/test.jsp/jsp-file /servlet servlet-mapping servlet-namexxx/servlet-name url-pattern/xxx/url-pattern /servlet-mapping servlet-mapping servlet-nameyyy/servlet-name url-pattern/yyy/url-pattern /servlet-mapping Without the fix, accessing /xxx causes a 404, because its registration is overridden by the 2nd servlet, so that /xxx is handled by the DefaultServlet. Revision ChangesPath 1.32 +5 -9 jakarta-tomcat-catalina/catalina/src/share/org/apache/catalina/core/StandardWrapper.java Index: StandardWrapper.java === RCS file: /home/cvs/jakarta-tomcat-catalina/catalina/src/share/org/apache/catalina/core/StandardWrapper.java,v retrieving revision 1.31 retrieving revision 1.32 diff -u -r1.31 -r1.32 --- StandardWrapper.java 29 Jul 2003 15:55:15 - 1.31 +++ StandardWrapper.java 17 Sep 2003 23:26:33 - 1.32 @@ -1607,17 +1607,13 @@ protected void registerJMX(StandardContext ctx) { try { -String name=this.getJspFile(); -if( name==null ) { -name=this.getServletName(); -} // it should be full name String parentName=ctx.getName(); String hostName=ctx.getParent().getName(); String webMod= // + ((hostName==null)? DEFAULT :hostName ) + ((.equals(parentName) ) ? / : parentName ); String onameStr=ctx.getDomain() + -:j2eeType=Servlet,name= + name + ,WebModule= + +:j2eeType=Servlet,name= + getName() + ,WebModule= + webMod + ,J2EEApplication= + ctx.getJ2EEApplication() + ,J2EEServer= + ctx.getJ2EEServer(); - To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]
cvs commit: jakarta-tomcat-catalina/catalina/src/share/org/apache/catalina/core StandardWrapper.java
jfarcand2003/06/04 14:17:13 Modified:catalina/src/share/org/apache/catalina/core StandardWrapper.java Log: Add caching mechanism to improve performance. Instead of creating a Method object each time the filter/servlet is invoked, use the cached object previously created. Note: this apply only when the security manager is turned on. Revision ChangesPath 1.28 +6 -4 jakarta-tomcat-catalina/catalina/src/share/org/apache/catalina/core/StandardWrapper.java Index: StandardWrapper.java === RCS file: /home/cvs/jakarta-tomcat-catalina/catalina/src/share/org/apache/catalina/core/StandardWrapper.java,v retrieving revision 1.27 retrieving revision 1.28 diff -u -r1.27 -r1.28 --- StandardWrapper.java 15 May 2003 20:49:05 - 1.27 +++ StandardWrapper.java 4 Jun 2003 21:17:12 - 1.28 @@ -1254,6 +1254,7 @@ if( System.getSecurityManager() != null) { SecurityUtil.doAsPrivilege(destroy, instance); +SecurityUtil.remove(instance); } else { instance.destroy(); } @@ -1297,6 +1298,7 @@ if( System.getSecurityManager() != null) { SecurityUtil.doAsPrivilege(destroy, ((Servlet) instancePool.pop())); +SecurityUtil.remove(instance); } else { ((Servlet) instancePool.pop()).destroy(); } - To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]
cvs commit: jakarta-tomcat-catalina/catalina/src/share/org/apache/catalina/core StandardWrapper.java
jfarcand2003/04/04 15:22:10 Modified:catalina/src/share/org/apache/catalina/core StandardWrapper.java Log: Log the real exception since we are loosing the root cause. Revision ChangesPath 1.21 +5 -4 jakarta-tomcat-catalina/catalina/src/share/org/apache/catalina/core/StandardWrapper.java Index: StandardWrapper.java === RCS file: /home/cvs/jakarta-tomcat-catalina/catalina/src/share/org/apache/catalina/core/StandardWrapper.java,v retrieving revision 1.20 retrieving revision 1.21 diff -u -r1.20 -r1.21 --- StandardWrapper.java 25 Mar 2003 19:07:56 - 1.20 +++ StandardWrapper.java 4 Apr 2003 23:22:09 - 1.21 @@ -1061,6 +1061,7 @@ // said so, so do not call unavailable(null). throw f; } catch (Throwable f) { +log.error(StandardWrapper.Throwable, f ); instanceSupport.fireInstanceEvent(InstanceEvent.AFTER_INIT_EVENT, servlet, f); // If the servlet wanted to be unavailable it would have - To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]
cvs commit: jakarta-tomcat-catalina/catalina/src/share/org/apache/catalina/core StandardWrapper.java
costin 2003/04/04 20:03:07 Modified:catalina/src/share/org/apache/catalina/core StandardWrapper.java Log: Set the controller - so we are unregistered. Reduce the verbosity ( same message was displayed 2 times ) Revision ChangesPath 1.22 +8 -8 jakarta-tomcat-catalina/catalina/src/share/org/apache/catalina/core/StandardWrapper.java Index: StandardWrapper.java === RCS file: /home/cvs/jakarta-tomcat-catalina/catalina/src/share/org/apache/catalina/core/StandardWrapper.java,v retrieving revision 1.21 retrieving revision 1.22 diff -u -r1.21 -r1.22 --- StandardWrapper.java 4 Apr 2003 23:22:09 - 1.21 +++ StandardWrapper.java 5 Apr 2003 04:03:07 - 1.22 @@ -677,9 +677,6 @@ */ public Servlet allocate() throws ServletException { -if (log.isDebugEnabled()) -log.debug(Allocating an instance); - // If we are currently unloading this servlet, throw an exception if (unloading) throw new ServletException @@ -693,6 +690,9 @@ synchronized (this) { if (instance == null) { try { +if (log.isDebugEnabled()) +log.debug(Allocating non-STM instance); + instance = loadServlet(); } catch (ServletException e) { throw e; @@ -1564,7 +1564,7 @@ ctx.getJ2EEServer(); oname=new ObjectName(onameStr); - +controller=oname; Registry.getRegistry().registerComponent(this, oname, null ); } catch( Exception ex ) { log.info(Error registering servlet with jmx + this); - To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]
cvs commit: jakarta-tomcat-catalina/catalina/src/share/org/apache/catalina/core StandardWrapper.java
costin 2003/03/25 11:07:56 Modified:catalina/src/share/org/apache/catalina/core StandardWrapper.java Log: Fix for allowing manager servlet jars to be in WEB-INF/lib of jar. IF the app is priviledged, it'll have the loader as a child of the container - so we don't need the workaround. This would work for the other catalina servlets ( cgi, webdav, etc ) - all could move from catalina to their own webapps, where people can install them at will :-) Revision ChangesPath 1.20 +10 -5 jakarta-tomcat-catalina/catalina/src/share/org/apache/catalina/core/StandardWrapper.java Index: StandardWrapper.java === RCS file: /home/cvs/jakarta-tomcat-catalina/catalina/src/share/org/apache/catalina/core/StandardWrapper.java,v retrieving revision 1.19 retrieving revision 1.20 diff -u -r1.19 -r1.20 --- StandardWrapper.java 20 Mar 2003 18:28:28 - 1.19 +++ StandardWrapper.java 25 Mar 2003 19:07:56 - 1.20 @@ -923,7 +923,12 @@ ClassLoader classLoader = loader.getClassLoader(); // Special case class loader for a container provided servlet -if (isContainerProvidedServlet(actualClass)) { +// +if (isContainerProvidedServlet(actualClass) +! ((Context)getParent()).getPrivileged() ) { +// If it is a priviledged context - using its own +// class loader will work, since it's a child of the container +// loader classLoader = this.getClass().getClassLoader(); } - To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]
cvs commit: jakarta-tomcat-catalina/catalina/src/share/org/apache/catalina/core StandardWrapper.java
costin 2003/03/16 23:36:59 Modified:catalina/src/share/org/apache/catalina/core StandardWrapper.java Log: update the registration code Revision ChangesPath 1.18 +55 -53 jakarta-tomcat-catalina/catalina/src/share/org/apache/catalina/core/StandardWrapper.java Index: StandardWrapper.java === RCS file: /home/cvs/jakarta-tomcat-catalina/catalina/src/share/org/apache/catalina/core/StandardWrapper.java,v retrieving revision 1.17 retrieving revision 1.18 diff -u -r1.17 -r1.18 --- StandardWrapper.java 14 Mar 2003 22:07:33 - 1.17 +++ StandardWrapper.java 17 Mar 2003 07:36:59 - 1.18 @@ -268,11 +268,11 @@ /** * Return the available date/time for this servlet, in milliseconds since - * the epoch. If this date/time is Long.MAX_VALUE, it is considered to mean - * that unavailability is permanent and any request for this servlet will return - * an SC_NOT_FOUND error. If this date/time is in the future, any request for - * this servlet will return an SC_SERVICE_UNAVAILABLE error. If it is zero, - * the servlet is currently available. + * the epoch. If this date/time is Long.MAX_VALUE, it is considered to mean + * that unavailability is permanent and any request for this servlet will return + * an SC_NOT_FOUND error. If this date/time is in the future, any request for + * this servlet will return an SC_SERVICE_UNAVAILABLE error. If it is zero, + * the servlet is currently available. */ public long getAvailable() { @@ -283,9 +283,9 @@ /** * Set the available date/time for this servlet, in milliseconds since the - * epoch. If this date/time is Long.MAX_VALUE, it is considered to mean - * that unavailability is permanent and any request for this servlet will return - * an SC_NOT_FOUND error. If this date/time is in the future, any request for + * epoch. If this date/time is Long.MAX_VALUE, it is considered to mean + * that unavailability is permanent and any request for this servlet will return + * an SC_NOT_FOUND error. If this date/time is in the future, any request for * this servlet will return an SC_SERVICE_UNAVAILABLE error. * * @param available The new available date/time @@ -462,7 +462,7 @@ int oldMaxInstances = this.maxInstances; this.maxInstances = maxInstances; -support.firePropertyChange(maxInstances, oldMaxInstances, +support.firePropertyChange(maxInstances, oldMaxInstances, this.maxInstances); } @@ -631,7 +631,7 @@ /** * Add a mapping associated with the Wrapper. - * + * * @param pattern The new wrapper mapping */ public void addMapping(String mapping) { @@ -903,14 +903,14 @@ if (jspWrapper != null) actualClass = jspWrapper.getServletClass(); } - + // Complain if no servlet class has been specified if (actualClass == null) { unavailable(null); throw new ServletException (sm.getString(standardWrapper.notClass, getName())); } - + // Acquire an instance of the class loader to be used Loader loader = getLoader(); if (loader == null) { @@ -918,14 +918,14 @@ throw new ServletException (sm.getString(standardWrapper.missingLoader, getName())); } - + ClassLoader classLoader = loader.getClassLoader(); - + // Special case class loader for a container provided servlet if (isContainerProvidedServlet(actualClass)) { classLoader = this.getClass().getClassLoader(); } - + // Load the specified servlet class from the appropriate class loader Class classClass = null; try { @@ -934,7 +934,7 @@ final String factualClass = actualClass; try{ classClass = (Class)AccessController.doPrivileged( -new PrivilegedExceptionAction(){ +new PrivilegedExceptionAction(){ public Object run() throws Exception{ if (fclassLoader != null) { return fclassLoader.loadClass(factualClass); @@ -942,17 +942,17 @@ return Class.forName(factualClass);
cvs commit: jakarta-tomcat-catalina/catalina/src/share/org/apache/catalina/core StandardWrapper.java
jfarcand2003/03/14 14:07:33 Modified:catalina/src/share/org/apache/catalina/core StandardWrapper.java Log: Add a do privileged block used when jsps are precompiled. Revision ChangesPath 1.17 +39 -8 jakarta-tomcat-catalina/catalina/src/share/org/apache/catalina/core/StandardWrapper.java Index: StandardWrapper.java === RCS file: /home/cvs/jakarta-tomcat-catalina/catalina/src/share/org/apache/catalina/core/StandardWrapper.java,v retrieving revision 1.16 retrieving revision 1.17 diff -u -r1.16 -r1.17 --- StandardWrapper.java 8 Mar 2003 06:58:11 - 1.16 +++ StandardWrapper.java 14 Mar 2003 22:07:33 - 1.17 @@ -70,6 +70,9 @@ import java.util.Enumeration; import java.util.HashMap; import java.util.Stack; +import java.security.AccessController; +import java.security.PrivilegedActionException; +import java.security.PrivilegedExceptionAction; import javax.servlet.Servlet; import javax.servlet.ServletConfig; import javax.servlet.ServletContext; @@ -926,18 +929,46 @@ // Load the specified servlet class from the appropriate class loader Class classClass = null; try { -if (classLoader != null) { -classClass = classLoader.loadClass(actualClass); -} else { -classClass = Class.forName(actualClass); +if (System.getSecurityManager() != null){ +final ClassLoader fclassLoader = classLoader; +final String factualClass = actualClass; +try{ +classClass = (Class)AccessController.doPrivileged( +new PrivilegedExceptionAction(){ +public Object run() throws Exception{ +if (fclassLoader != null) { +return fclassLoader.loadClass(factualClass); +} else { +return Class.forName(factualClass); +} +} +}); +} catch(PrivilegedActionException pax){ +Exception ex = pax.getException(); +if (ex instanceof ClassNotFoundException){ +throw (ClassNotFoundException)ex; +} else { +log.error( Error loading ++ fclassLoader + + factualClass, ex ); +} +} +} else { +if (classLoader != null) { +classClass = classLoader.loadClass(actualClass); +} else { +classClass = Class.forName(actualClass); +} } } catch (ClassNotFoundException e) { unavailable(null); + + log.error( Error loading + classLoader + + actualClass, e ); throw new ServletException (sm.getString(standardWrapper.missingClass, actualClass), e); } + if (classClass == null) { unavailable(null); throw new ServletException - To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]
cvs commit: jakarta-tomcat-catalina/catalina/src/share/org/apache/catalina/core StandardWrapper.java
remm2003/01/29 04:42:21 Modified:catalina/src/share/org/apache/catalina/core StandardWrapper.java Log: - Add a way to get the mappings associated with a wrapper (there was none which of course is a problem unless the mapper is the context itself). Revision ChangesPath 1.14 +53 -4 jakarta-tomcat-catalina/catalina/src/share/org/apache/catalina/core/StandardWrapper.java Index: StandardWrapper.java === RCS file: /home/cvs/jakarta-tomcat-catalina/catalina/src/share/org/apache/catalina/core/StandardWrapper.java,v retrieving revision 1.13 retrieving revision 1.14 diff -u -r1.13 -r1.14 --- StandardWrapper.java 27 Jan 2003 23:33:10 - 1.13 +++ StandardWrapper.java 29 Jan 2003 12:42:20 - 1.14 @@ -66,6 +66,7 @@ import java.io.PrintStream; +import java.util.ArrayList; import java.util.Enumeration; import java.util.HashMap; import java.util.Stack; @@ -187,6 +188,12 @@ /** + * Mappings associated with the wrapper. + */ +private ArrayList mappings = new ArrayList(); + + +/** * The initialization parameters for this servlet, keyed by * parameter name. */ @@ -620,6 +627,21 @@ /** + * Add a mapping associated with the Wrapper. + * + * @param pattern The new wrapper mapping + */ +public void addMapping(String mapping) { + +synchronized (mappings) { +mappings.add(mapping); +} +fireContainerEvent(addMapping, mapping); + +} + + +/** * Add a new security role reference record to the set of records for * this servlet. * @@ -776,6 +798,18 @@ /** + * Return the mappings associated with this wrapper. + */ +public String[] findMappings() { + +synchronized (mappings) { +return (String[]) mappings.toArray(new String[mappings.size()]); +} + +} + + +/** * Return the security role link for the specified security role * reference name, if any; otherwise return codenull/code. * @@ -1041,6 +1075,21 @@ public void removeInstanceListener(InstanceListener listener) { instanceSupport.removeInstanceListener(listener); + +} + + +/** + * Remove a mapping associated with the wrapper. + * + * @param mapping The pattern to remove + */ +public void removeMapping(String mapping) { + +synchronized (mappings) { +mappings.remove(mapping); +} +fireContainerEvent(removeMapping, mapping); } - To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]
cvs commit: jakarta-tomcat-catalina/catalina/src/share/org/apache/catalina/core StandardWrapper.java
costin 2003/01/27 15:33:10 Modified:catalina/src/share/org/apache/catalina/core StandardWrapper.java Log: Remove unneeded param. Store the startup time instead of displaying it ( will be visible in the jmx console ) added missing getter. Removed the final - duplication the code inside is too painfull. BTW - in the previous commit, I also made StandardContext serializable. It won't work ( a lot of other classes are not serializable ), but in time we may get to a point where we can cache the configured state of the context and avoid parsing unless needed. Revision ChangesPath 1.13 +17 -16 jakarta-tomcat-catalina/catalina/src/share/org/apache/catalina/core/StandardWrapper.java Index: StandardWrapper.java === RCS file: /home/cvs/jakarta-tomcat-catalina/catalina/src/share/org/apache/catalina/core/StandardWrapper.java,v retrieving revision 1.12 retrieving revision 1.13 diff -u -r1.12 -r1.13 --- StandardWrapper.java 24 Jan 2003 23:47:45 - 1.12 +++ StandardWrapper.java 27 Jan 2003 23:33:10 - 1.13 @@ -91,6 +91,7 @@ import org.apache.catalina.util.InstanceSupport; import org.apache.tomcat.util.log.SystemLogHandler; import org.apache.commons.modeler.Registry; + /** * Standard implementation of the bWrapper/b interface that represents * an individual servlet definition. No child Containers are allowed, and @@ -100,8 +101,7 @@ * @author Remy Maucherat * @version $Revision$ $Date$ */ - -public final class StandardWrapper +public class StandardWrapper extends ContainerBase implements ServletConfig, Wrapper { @@ -251,6 +251,7 @@ // To support jmx attributes private StandardWrapperValve swValve; private long loadTime=0; +private long classLoadTime=0; // - Properties @@ -423,9 +424,11 @@ } catch (NumberFormatException e) { setLoadOnStartup(0); } - } +public String getLoadOnStartupString() { +return Integer.toString( getLoadOnStartup()); +} /** @@ -928,10 +931,7 @@ ((ContainerServlet) servlet).setWrapper(this); } -if( System.currentTimeMillis() -t1 200 ) { -log.info(Created servlet class + actualClass + + - (System.currentTimeMillis() - t1 ) ); -} +classLoadTime=System.currentTimeMillis() -t1; // Call the initialization method of this servlet try { instanceSupport.fireInstanceEvent(InstanceEvent.BEFORE_INIT_EVENT, @@ -1011,7 +1011,8 @@ } } } -registerJMX((ContainerBase)getParent(), this); +if( oname != null ) +registerJMX((ContainerBase)getParent()); return servlet; } @@ -1441,11 +1442,11 @@ } -void registerJMX(ContainerBase ctx, StandardWrapper wrapper) { +protected void registerJMX(ContainerBase ctx) { try { -String name=wrapper.getJspFile(); +String name=this.getJspFile(); if( name==null ) { -name=wrapper.getServletName(); +name=this.getServletName(); } // it should be full name String parentName=ctx.getName(); @@ -1455,7 +1456,7 @@ String oname=j2eeType=Servlet,name= + name + ,WebModule= + webMod + ctx.getJSR77Suffix(); -Registry.getRegistry().registerComponent(wrapper, +Registry.getRegistry().registerComponent(this, ctx.getDomain(), Servlet, oname); } catch( Exception ex ) { log.info(Error registering servlet with jmx + this); -- To unsubscribe, e-mail: mailto:[EMAIL PROTECTED] For additional commands, e-mail: mailto:[EMAIL PROTECTED]
cvs commit: jakarta-tomcat-catalina/catalina/src/share/org/apache/catalina/core StandardWrapper.java
costin 2003/01/16 13:41:45 Modified:catalina/src/share/org/apache/catalina/core StandardWrapper.java Log: The servlet wrapper will register itself using the JSR77 name. The app and server name are taken from the context. The load time, processing time and other nice data is exposed via JMX (collected in the valve - to not affect the performance ). Revision ChangesPath 1.11 +72 -15 jakarta-tomcat-catalina/catalina/src/share/org/apache/catalina/core/StandardWrapper.java Index: StandardWrapper.java === RCS file: /home/cvs/jakarta-tomcat-catalina/catalina/src/share/org/apache/catalina/core/StandardWrapper.java,v retrieving revision 1.10 retrieving revision 1.11 diff -u -r1.10 -r1.11 --- StandardWrapper.java 8 Dec 2002 13:42:09 - 1.10 +++ StandardWrapper.java 16 Jan 2003 21:41:45 - 1.11 @@ -90,6 +90,7 @@ import org.apache.catalina.util.Enumerator; import org.apache.catalina.util.InstanceSupport; import org.apache.tomcat.util.log.SystemLogHandler; +import org.apache.commons.modeler.Registry; /** * Standard implementation of the bWrapper/b interface that represents * an individual servlet definition. No child Containers are allowed, and @@ -115,7 +116,8 @@ public StandardWrapper() { super(); -pipeline.setBasic(new StandardWrapperValve()); +swValve=new StandardWrapperValve(); +pipeline.setBasic(swValve); } @@ -246,6 +248,10 @@ */ private boolean swallowOutput = false; +// To support jmx attributes +private StandardWrapperValve swValve; +private long loadTime=0; + // - Properties @@ -867,11 +873,6 @@ // Special case class loader for a container provided servlet if (isContainerProvidedServlet(actualClass)) { classLoader = this.getClass().getClassLoader(); -long t2=System.currentTimeMillis(); -if( t2-t1 200 ) -log.info(sm.getString - (standardWrapper.containerServlet, getName()) + - + (t2 - t1 )); } // Load the specified servlet class from the appropriate class loader @@ -993,10 +994,8 @@ instancePool = new Stack(); } fireContainerEvent(load, this); -if( System.currentTimeMillis() -t1 200 ) { -log.info(Loaded servlet + actualClass + + - (System.currentTimeMillis() - t1 ) ); -} + +loadTime=System.currentTimeMillis() -t1; } finally { if (swallowOutput) { String log = SystemLogHandler.stopCapture(); @@ -1009,6 +1008,7 @@ } } } +registerJMX((ContainerBase)getParent(), this); return servlet; } @@ -1274,7 +1274,45 @@ } +public long getProcessingTime() { +return swValve.getProcessingTime(); +} + +public void setProcessingTime(long processingTime) { +swValve.setProcessingTime(processingTime); +} + +public long getMaxTime() { +return swValve.getMaxTime(); +} + +public void setMaxTime(long maxTime) { +swValve.setMaxTime(maxTime); +} + +public int getRequestCount() { +return swValve.getRequestCount(); +} +public void setRequestCount(int requestCount) { +swValve.setRequestCount(requestCount); +} + +public int getErrorCount() { +return swValve.getErrorCount(); +} + +public void setErrorCount(int errorCount) { + swValve.setErrorCount(errorCount); +} + +public long getLoadTime() { +return loadTime; +} + +public void setLoadTime(long loadTime) { +this.loadTime = loadTime; +} // Package Methods @@ -1400,5 +1438,24 @@ } - +void registerJMX(ContainerBase ctx, StandardWrapper wrapper) { +try { +String name=wrapper.getJspFile(); +if( name==null ) { +name=wrapper.getServletName(); +} +// it should be full name +String parentName=ctx.getName(); +String hostName=ctx.getParent().getName(); +String webMod=((hostName==null)? DEFAULT :hostName ) + +((.equals(parentName) ) ? / : parentName ); +String oname=j2eeType=Servlet,name= + name + ,WebModule= + +
cvs commit: jakarta-tomcat-catalina/catalina/src/share/org/apache/catalina/core StandardWrapper.java
remm2002/12/05 05:34:09 Modified:catalina/src/share/org/apache/catalina/core StandardWrapper.java Log: - Slightly experimental: mark servlets as unavailable when the wrapper is stopped (bug 15077). Revision ChangesPath 1.9 +10 -5 jakarta-tomcat-catalina/catalina/src/share/org/apache/catalina/core/StandardWrapper.java Index: StandardWrapper.java === RCS file: /home/cvs/jakarta-tomcat-catalina/catalina/src/share/org/apache/catalina/core/StandardWrapper.java,v retrieving revision 1.8 retrieving revision 1.9 diff -u -r1.8 -r1.9 --- StandardWrapper.java 20 Nov 2002 00:19:54 - 1.8 +++ StandardWrapper.java 5 Dec 2002 13:34:09 - 1.9 @@ -1343,6 +1343,8 @@ // Load and initialize an instance of this servlet if requested // MOVED TO StandardContext START() METHOD +setAvailable(0L); + } @@ -1354,11 +1356,14 @@ */ public void stop() throws LifecycleException { +setAvailable(Long.MAX_VALUE); + // Shut down our servlet instance (if it has been initialized) try { unload(); } catch (ServletException e) { -log.error(sm.getString(standardWrapper.unloadException, getName()), e); +log.error(sm.getString + (standardWrapper.unloadException, getName()), e); } // Shut down this component -- To unsubscribe, e-mail: mailto:[EMAIL PROTECTED] For additional commands, e-mail: mailto:[EMAIL PROTECTED]
cvs commit: jakarta-tomcat-catalina/catalina/src/share/org/apache/catalina/core StandardWrapper.java
costin 2002/11/19 16:19:54 Modified:catalina/src/share/org/apache/catalina/core StandardWrapper.java Log: Fix the import * ( a bit late, sorry ). Increase the time that trigers a message ( too many classes take more than 100ms to load ). I'll make it configurable - it is very usefull to see a small log for the classes that take a long time to load, it may raise a bit awarness on performance. Revision ChangesPath 1.8 +27 -13 jakarta-tomcat-catalina/catalina/src/share/org/apache/catalina/core/StandardWrapper.java Index: StandardWrapper.java === RCS file: /home/cvs/jakarta-tomcat-catalina/catalina/src/share/org/apache/catalina/core/StandardWrapper.java,v retrieving revision 1.7 retrieving revision 1.8 diff -u -r1.7 -r1.8 --- StandardWrapper.java 5 Nov 2002 21:35:00 - 1.7 +++ StandardWrapper.java 20 Nov 2002 00:19:54 - 1.8 @@ -65,17 +65,31 @@ package org.apache.catalina.core; -import org.apache.catalina.*; -import org.apache.catalina.security.SecurityUtil; -import org.apache.catalina.util.Enumerator; -import org.apache.catalina.util.InstanceSupport; -import org.apache.tomcat.util.log.SystemLogHandler; - -import javax.servlet.*; import java.io.PrintStream; import java.util.Enumeration; import java.util.HashMap; import java.util.Stack; +import javax.servlet.Servlet; +import javax.servlet.ServletConfig; +import javax.servlet.ServletContext; +import javax.servlet.ServletException; +import javax.servlet.ServletRequest; +import javax.servlet.ServletResponse; +import javax.servlet.SingleThreadModel; +import javax.servlet.UnavailableException; + +import org.apache.catalina.Container; +import org.apache.catalina.ContainerServlet; +import org.apache.catalina.Context; +import org.apache.catalina.InstanceEvent; +import org.apache.catalina.InstanceListener; +import org.apache.catalina.LifecycleException; +import org.apache.catalina.Loader; +import org.apache.catalina.Wrapper; +import org.apache.catalina.security.SecurityUtil; +import org.apache.catalina.util.Enumerator; +import org.apache.catalina.util.InstanceSupport; +import org.apache.tomcat.util.log.SystemLogHandler; /** * Standard implementation of the bWrapper/b interface that represents * an individual servlet definition. No child Containers are allowed, and @@ -899,7 +913,7 @@ ((ContainerServlet) servlet).setWrapper(this); } -if( System.currentTimeMillis() -t1 100 ) { +if( System.currentTimeMillis() -t1 200 ) { log.info(Created servlet class + actualClass + + (System.currentTimeMillis() - t1 ) ); } @@ -968,7 +982,7 @@ instancePool = new Stack(); } fireContainerEvent(load, this); -if( System.currentTimeMillis() -t1 100 ) { +if( System.currentTimeMillis() -t1 200 ) { log.info(Loaded servlet + actualClass + + (System.currentTimeMillis() - t1 ) ); } -- To unsubscribe, e-mail: mailto:[EMAIL PROTECTED] For additional commands, e-mail: mailto:[EMAIL PROTECTED]
Re: cvs commit: jakarta-tomcat-catalina/catalina/src/share/org/apache/catalina/core StandardWrapper.java
Remy Maucherat wrote: [EMAIL PROTECTED] wrote: costin 2002/11/05 13:35:00 Modified:catalina/src/share/org/apache/catalina/core StandardWrapper.java Log: Use commons-logging. Add a short message for servlets that take a long time to load ( right now it's 200 ms - we can increase it, but no need to make it configurable, it's mostly do debug perf. ). I used idea to edit the file - and it removed unused imports and forced me to fix some name mismatches... Probably should go back to emacs... Especially since it converted the imports to * imports (evil, evil). Please stop using it or disable the feature (and can you revert the changes on the imports ?). I can revert the change - I just had it on my computer for a long while, it's really not that important. I would like to slowly move all the logging to c-l, but there is no urgency. Regarding Idea - it warned me that about 10 imports were not beeing used - and I let it 'fix' it. It seems it uses * if more than 5 files in the same package are used. Overall I'm really impressed with idea - I don't think I'll be able to return to emacs. The code completion and runtime correction is great, and the speed is decent. And with few fixes I was able to even run tomcat inside and debug it... I still have 20 more days to evaluate it, but so far it seems its worth the money. I'll just try once more with netbeans and eclipse. BTW - what's evil in import * ? I never understood. Costin -- To unsubscribe, e-mail: mailto:tomcat-dev-unsubscribe;jakarta.apache.org For additional commands, e-mail: mailto:tomcat-dev-help;jakarta.apache.org
Re: cvs commit: jakarta-tomcat-catalina/catalina/src/share/org/apache/catalina/core StandardWrapper.java
- Original Message - From: Remy Maucherat [EMAIL PROTECTED] To: Tomcat Developers List [EMAIL PROTECTED] Sent: Wednesday, November 06, 2002 12:13 AM Subject: Re: cvs commit: jakarta-tomcat-catalina/catalina/src/share/org/apache/catalina/core StandardWrapper.java [EMAIL PROTECTED] wrote: costin 2002/11/05 13:35:00 Modified:catalina/src/share/org/apache/catalina/core StandardWrapper.java Log: Use commons-logging. Add a short message for servlets that take a long time to load ( right now it's 200 ms - we can increase it, but no need to make it configurable, it's mostly do debug perf. ). I used idea to edit the file - and it removed unused imports and forced me to fix some name mismatches... Probably should go back to emacs... Especially since it converted the imports to * imports (evil, evil). Please stop using it or disable the feature (and can you revert the changes on the imports ?). +1 Remy -- To unsubscribe, e-mail: mailto:tomcat-dev-unsubscribe;jakarta.apache.org For additional commands, e-mail: mailto:tomcat-dev-help;jakarta.apache.org -- To unsubscribe, e-mail: mailto:tomcat-dev-unsubscribe;jakarta.apache.org For additional commands, e-mail: mailto:tomcat-dev-help;jakarta.apache.org
cvs commit: jakarta-tomcat-catalina/catalina/src/share/org/apache/catalina/core StandardWrapper.java
costin 2002/11/05 13:35:00 Modified:catalina/src/share/org/apache/catalina/core StandardWrapper.java Log: Use commons-logging. Add a short message for servlets that take a long time to load ( right now it's 200 ms - we can increase it, but no need to make it configurable, it's mostly do debug perf. ). I used idea to edit the file - and it removed unused imports and forced me to fix some name mismatches... Probably should go back to emacs... Revision ChangesPath 1.7 +40 -53 jakarta-tomcat-catalina/catalina/src/share/org/apache/catalina/core/StandardWrapper.java Index: StandardWrapper.java === RCS file: /home/cvs/jakarta-tomcat-catalina/catalina/src/share/org/apache/catalina/core/StandardWrapper.java,v retrieving revision 1.6 retrieving revision 1.7 diff -u -r1.6 -r1.7 --- StandardWrapper.java 16 Oct 2002 15:42:09 - 1.6 +++ StandardWrapper.java 5 Nov 2002 21:35:00 - 1.7 -65,43 +65,17 package org.apache.catalina.core; -import java.io.File; -import java.io.IOException; -import java.io.PrintStream; -import java.net.URL; -import java.util.Enumeration; -import java.util.HashMap; -import java.util.Stack; -import javax.servlet.Servlet; -import javax.servlet.ServletConfig; -import javax.servlet.ServletContext; -import javax.servlet.ServletException; -import javax.servlet.SingleThreadModel; -import javax.servlet.UnavailableException; -import javax.servlet.http.HttpServletResponse; -import org.apache.catalina.Container; -import org.apache.catalina.ContainerServlet; -import org.apache.catalina.Context; -import org.apache.catalina.InstanceEvent; -import org.apache.catalina.InstanceListener; -import org.apache.catalina.Lifecycle; -import org.apache.catalina.LifecycleException; -import org.apache.catalina.Loader; -import org.apache.catalina.Logger; -import org.apache.catalina.Request; -import org.apache.catalina.Response; -import org.apache.catalina.Wrapper; -import javax.servlet.ServletRequest; -import javax.servlet.ServletResponse; -import org.apache.catalina.loader.StandardClassLoader; +import org.apache.catalina.*; +import org.apache.catalina.security.SecurityUtil; import org.apache.catalina.util.Enumerator; import org.apache.catalina.util.InstanceSupport; -import org.apache.catalina.security.SecurityUtil; import org.apache.tomcat.util.log.SystemLogHandler; -import java.security.PrivilegedActionException; -import java.security.PrivilegedExceptionAction; -import javax.security.auth.Subject; +import javax.servlet.*; +import java.io.PrintStream; +import java.util.Enumeration; +import java.util.HashMap; +import java.util.Stack; /** * Standard implementation of the bWrapper/b interface that represents * an individual servlet definition. No child Containers are allowed, and -116,7 +90,8 extends ContainerBase implements ServletConfig, Wrapper { - +private static org.apache.commons.logging.Log log= +org.apache.commons.logging.LogFactory.getLog( StandardWrapper.class ); // --- Constructors -440,7 +415,7 * Set the maximum number of instances that will be allocated when a single * thread model servlet is used. * - * param maxInstnces New value of maxInstances + * param maxInstances New value of maxInstances */ public void setMaxInstances(int maxInstances) { -481,7 +456,7 /** * Set the run-as identity for this servlet. * - * param value New run-as identity value + * param runAs New run-as identity value */ public void setRunAs(String runAs) { -642,8 +617,8 */ public Servlet allocate() throws ServletException { -if (debug = 1) -log(Allocating an instance); +if (log.isDebugEnabled()) +log.debug(Allocating an instance); // If we are currently unloading this servlet, throw an exception if (unloading) -670,8 +645,8 } if (!singleThreadModel) { -if (debug = 2) -log( Returning non-STM instance); +if (log.isTraceEnabled()) +log.trace( Returning non-STM instance); countAllocated++; return (instance); } -700,8 +675,8 } } } -if (debug = 2) -log( Returning allocated STM instance); +if (log.isTraceEnabled()) +log.trace( Returning allocated STM instance); countAllocated++; return (Servlet)
cvs commit: jakarta-tomcat-catalina/catalina/src/share/org/apache/catalina/core StandardWrapper.java ApplicationFilterConfig.java ApplicationFilterChain.java
jfarcand2002/10/16 08:42:09 Modified:catalina/src/share/org/apache/catalina/core StandardWrapper.java ApplicationFilterConfig.java ApplicationFilterChain.java Log: Security Audit. Change the SecurityUtil package dir. Revision ChangesPath 1.6 +5 -5 jakarta-tomcat-catalina/catalina/src/share/org/apache/catalina/core/StandardWrapper.java Index: StandardWrapper.java === RCS file: /home/cvs/jakarta-tomcat-catalina/catalina/src/share/org/apache/catalina/core/StandardWrapper.java,v retrieving revision 1.5 retrieving revision 1.6 diff -u -r1.5 -r1.6 --- StandardWrapper.java 9 Oct 2002 08:01:11 - 1.5 +++ StandardWrapper.java 16 Oct 2002 15:42:09 - 1.6 @@ -96,7 +96,7 @@ import org.apache.catalina.loader.StandardClassLoader; import org.apache.catalina.util.Enumerator; import org.apache.catalina.util.InstanceSupport; -import org.apache.catalina.util.SecurityUtil; +import org.apache.catalina.security.SecurityUtil; import org.apache.tomcat.util.log.SystemLogHandler; import java.security.PrivilegedActionException; 1.3 +5 -5 jakarta-tomcat-catalina/catalina/src/share/org/apache/catalina/core/ApplicationFilterConfig.java Index: ApplicationFilterConfig.java === RCS file: /home/cvs/jakarta-tomcat-catalina/catalina/src/share/org/apache/catalina/core/ApplicationFilterConfig.java,v retrieving revision 1.2 retrieving revision 1.3 diff -u -r1.2 -r1.3 --- ApplicationFilterConfig.java 13 Sep 2002 21:59:48 - 1.2 +++ ApplicationFilterConfig.java 16 Oct 2002 15:42:09 - 1.3 @@ -76,7 +76,7 @@ import org.apache.catalina.Context; import org.apache.catalina.deploy.FilterDef; import org.apache.catalina.util.Enumerator; -import org.apache.catalina.util.SecurityUtil; +import org.apache.catalina.security.SecurityUtil; /** * Implementation of a codejavax.servlet.FilterConfig/code useful in 1.3 +5 -5 jakarta-tomcat-catalina/catalina/src/share/org/apache/catalina/core/ApplicationFilterChain.java Index: ApplicationFilterChain.java === RCS file: /home/cvs/jakarta-tomcat-catalina/catalina/src/share/org/apache/catalina/core/ApplicationFilterChain.java,v retrieving revision 1.2 retrieving revision 1.3 diff -u -r1.2 -r1.3 --- ApplicationFilterChain.java 13 Sep 2002 21:59:48 - 1.2 +++ ApplicationFilterChain.java 16 Oct 2002 15:42:09 - 1.3 @@ -83,7 +83,7 @@ import org.apache.catalina.InstanceEvent; import org.apache.catalina.util.InstanceSupport; import org.apache.catalina.util.StringManager; -import org.apache.catalina.util.SecurityUtil; +import org.apache.catalina.security.SecurityUtil; /** * Implementation of codejavax.servlet.FilterChain/code used to manage -- To unsubscribe, e-mail: mailto:[EMAIL PROTECTED] For additional commands, e-mail: mailto:[EMAIL PROTECTED]
cvs commit: jakarta-tomcat-catalina/catalina/src/share/org/apache/catalina/core StandardWrapper.java
remm2002/09/27 00:13:05 Modified:catalina/src/share/org/apache/catalina/core StandardWrapper.java Log: - Port patch for bug 12985. Revision ChangesPath 1.4 +5 -5 jakarta-tomcat-catalina/catalina/src/share/org/apache/catalina/core/StandardWrapper.java Index: StandardWrapper.java === RCS file: /home/cvs/jakarta-tomcat-catalina/catalina/src/share/org/apache/catalina/core/StandardWrapper.java,v retrieving revision 1.3 retrieving revision 1.4 diff -u -r1.3 -r1.4 --- StandardWrapper.java 17 Sep 2002 16:39:19 - 1.3 +++ StandardWrapper.java 27 Sep 2002 07:13:05 - 1.4 @@ -939,7 +939,7 @@ } // Invoke jspInit on JSP pages -if ((loadOnStartup 0) (jspFile != null)) { +if ((loadOnStartup = 0) (jspFile != null)) { // Invoking jspInit HttpRequestBase req = new HttpRequestBase(); HttpResponseBase res = new HttpResponseBase(); -- To unsubscribe, e-mail: mailto:[EMAIL PROTECTED] For additional commands, e-mail: mailto:[EMAIL PROTECTED]
cvs commit: jakarta-tomcat-catalina/catalina/src/share/org/apache/catalina/core StandardWrapper.java
jfarcand2002/09/17 09:39:19 Modified:catalina/src/share/org/apache/catalina/core StandardWrapper.java Log: Remove anoying debugging output. Revision ChangesPath 1.3 +6 -7 jakarta-tomcat-catalina/catalina/src/share/org/apache/catalina/core/StandardWrapper.java Index: StandardWrapper.java === RCS file: /home/cvs/jakarta-tomcat-catalina/catalina/src/share/org/apache/catalina/core/StandardWrapper.java,v retrieving revision 1.2 retrieving revision 1.3 diff -u -r1.2 -r1.3 --- StandardWrapper.java 13 Sep 2002 21:59:48 - 1.2 +++ StandardWrapper.java 17 Sep 2002 16:39:19 - 1.3 @@ -161,7 +161,7 @@ /** * The facade associated with this wrapper. */ -private final StandardWrapperFacade facade = +private StandardWrapperFacade facade = new StandardWrapperFacade(this); @@ -833,7 +833,7 @@ PrintStream out = System.out; SystemLogHandler.startCapture(); -final Servlet servlet; +Servlet servlet; try { // If this servlet is really a JSP file, get the right class. // HOLD YOUR NOSE - this is a kludge that avoids having to do special @@ -963,7 +963,6 @@ } catch (UnavailableException f) { instanceSupport.fireInstanceEvent(InstanceEvent.AFTER_INIT_EVENT, servlet, f); -System.out.println(*); unavailable(f); throw f; } catch (ServletException f) { -- To unsubscribe, e-mail: mailto:[EMAIL PROTECTED] For additional commands, e-mail: mailto:[EMAIL PROTECTED]