luehe 2002/11/15 20:20:10 Modified: jasper2/src/share/org/apache/jasper Constants.java EmbededServletOptions.java JspC.java Options.java jasper2/src/share/org/apache/jasper/compiler Generator.java ServletWriter.java jasper2/src/share/org/apache/jasper/resources messages.properties jasper2/src/share/org/apache/jasper/runtime TagHandlerPool.java Log: Added init param to configure tag pool size. Revision Changes Path 1.9 +7 -0 jakarta-tomcat-jasper/jasper2/src/share/org/apache/jasper/Constants.java Index: Constants.java =================================================================== RCS file: /home/cvs/jakarta-tomcat-jasper/jasper2/src/share/org/apache/jasper/Constants.java,v retrieving revision 1.8 retrieving revision 1.9 diff -u -r1.8 -r1.9 --- Constants.java 20 Sep 2002 18:06:38 -0000 1.8 +++ Constants.java 16 Nov 2002 04:20:09 -0000 1.9 @@ -138,6 +138,13 @@ public static final int DEFAULT_TAG_BUFFER_SIZE = 512; /** + * Default tag handler pool size. + */ + public static final int MAX_POOL_SIZE = 5; + public static final Integer MAX_POOL_SIZE_INTEGER + = new Integer(MAX_POOL_SIZE); + + /** * The query parameter that causes the JSP engine to just * pregenerated the servlet but not invoke it. */ 1.12 +42 -10 jakarta-tomcat-jasper/jasper2/src/share/org/apache/jasper/EmbededServletOptions.java Index: EmbededServletOptions.java =================================================================== RCS file: /home/cvs/jakarta-tomcat-jasper/jasper2/src/share/org/apache/jasper/EmbededServletOptions.java,v retrieving revision 1.11 retrieving revision 1.12 diff -u -r1.11 -r1.12 --- EmbededServletOptions.java 22 Oct 2002 22:23:14 -0000 1.11 +++ EmbededServletOptions.java 16 Nov 2002 04:20:09 -0000 1.12 @@ -105,7 +105,12 @@ /** * Determines whether tag handler pooling is enabled. */ - private boolean poolingEnabled = true; + private boolean isPoolingEnabled = true; + + /** + * Tag handler pool size. + */ + private int tagPoolSize; /** * Do you want support for "mapped" files? This will generate @@ -198,7 +203,14 @@ } public boolean isPoolingEnabled() { - return poolingEnabled; + return isPoolingEnabled; + } + + /** + * Returns the tag handler pool size. + */ + public int getTagPoolSize() { + return tagPoolSize; } /** @@ -293,12 +305,15 @@ * Create an EmbededServletOptions object using data available from * ServletConfig and ServletContext. */ - public EmbededServletOptions(ServletConfig config, ServletContext context) { + public EmbededServletOptions(ServletConfig config, + ServletContext context) { + + this.tagPoolSize = Constants.MAX_POOL_SIZE; + Enumeration enum=config.getInitParameterNames(); while( enum.hasMoreElements() ) { String k=(String)enum.nextElement(); String v=config.getInitParameter( k ); - setProperty( k, v); } @@ -325,17 +340,34 @@ else Constants.message ("jsp.warning.largeFile", Logger.WARNING); } - poolingEnabled = true; + this.isPoolingEnabled = true; String poolingEnabledParam = config.getInitParameter("enablePooling"); if (poolingEnabledParam != null && !poolingEnabledParam.equalsIgnoreCase("true")) { if (poolingEnabledParam.equalsIgnoreCase("false")) - this.poolingEnabled = false; + this.isPoolingEnabled = false; else Constants.message("jsp.warning.enablePooling", Logger.WARNING); } + String tagPoolSizeParam = config.getInitParameter("tagPoolSize"); + if (tagPoolSizeParam != null) { + try { + this.tagPoolSize = Integer.parseInt(tagPoolSizeParam); + if (this.tagPoolSize <= 0) { + this.tagPoolSize = Constants.MAX_POOL_SIZE; + Constants.message("jsp.warning.invalidTagPoolSize", + new Object[] { Constants.MAX_POOL_SIZE_INTEGER }, + Logger.WARNING); + } + } catch(NumberFormatException ex) { + Constants.message("jsp.warning.invalidTagPoolSize", + new Object[] { Constants.MAX_POOL_SIZE_INTEGER }, + Logger.WARNING); + } + } + String mapFile = config.getInitParameter("mappedfile"); if (mapFile != null) { if (mapFile.equalsIgnoreCase("true")) @@ -366,7 +398,7 @@ String checkInterval = config.getInitParameter("checkInterval"); if (checkInterval != null) { try { - this.checkInterval = new Integer(checkInterval).intValue(); + this.checkInterval = Integer.parseInt(checkInterval); if (this.checkInterval == 0) { this.checkInterval = 300; Constants.message("jsp.warning.checkInterval", 1.18 +7 -3 jakarta-tomcat-jasper/jasper2/src/share/org/apache/jasper/JspC.java Index: JspC.java =================================================================== RCS file: /home/cvs/jakarta-tomcat-jasper/jasper2/src/share/org/apache/jasper/JspC.java,v retrieving revision 1.17 retrieving revision 1.18 diff -u -r1.17 -r1.18 --- JspC.java 6 Nov 2002 19:26:31 -0000 1.17 +++ JspC.java 16 Nov 2002 04:20:09 -0000 1.18 @@ -213,6 +213,10 @@ return true; } + public int getTagPoolSize() { + return Constants.MAX_POOL_SIZE; + } + /** * Are we supporting HTML mapped servlets? */ 1.9 +8 -3 jakarta-tomcat-jasper/jasper2/src/share/org/apache/jasper/Options.java Index: Options.java =================================================================== RCS file: /home/cvs/jakarta-tomcat-jasper/jasper2/src/share/org/apache/jasper/Options.java,v retrieving revision 1.8 retrieving revision 1.9 diff -u -r1.8 -r1.9 --- Options.java 20 Aug 2002 03:52:18 -0000 1.8 +++ Options.java 16 Nov 2002 04:20:09 -0000 1.9 @@ -93,6 +93,11 @@ */ public boolean isPoolingEnabled(); + /** + * Returns the size used by all tag handler pools. + */ + public int getTagPoolSize(); + /** * Are we supporting HTML mapped servlets? */ 1.127 +6 -4 jakarta-tomcat-jasper/jasper2/src/share/org/apache/jasper/compiler/Generator.java Index: Generator.java =================================================================== RCS file: /home/cvs/jakarta-tomcat-jasper/jasper2/src/share/org/apache/jasper/compiler/Generator.java,v retrieving revision 1.126 retrieving revision 1.127 diff -u -r1.126 -r1.127 --- Generator.java 15 Nov 2002 19:41:28 -0000 1.126 +++ Generator.java 16 Nov 2002 04:20:10 -0000 1.127 @@ -659,7 +659,9 @@ out.pushIndent(); for (int i=0; i<tagHandlerPoolNames.size(); i++) { out.printin((String) tagHandlerPoolNames.elementAt(i)); - out.println(" = new org.apache.jasper.runtime.TagHandlerPool();"); + out.print(" = new org.apache.jasper.runtime.TagHandlerPool("); + out.print(ctxt.getOptions().getTagPoolSize()); + out.println(");"); } out.popIndent(); out.printil("}"); 1.2 +10 -3 jakarta-tomcat-jasper/jasper2/src/share/org/apache/jasper/compiler/ServletWriter.java Index: ServletWriter.java =================================================================== RCS file: /home/cvs/jakarta-tomcat-jasper/jasper2/src/share/org/apache/jasper/compiler/ServletWriter.java,v retrieving revision 1.1 retrieving revision 1.2 diff -u -r1.1 -r1.2 --- ServletWriter.java 28 Mar 2002 18:46:16 -0000 1.1 +++ ServletWriter.java 16 Nov 2002 04:20:10 -0000 1.2 @@ -186,6 +186,13 @@ } /** + * Prints the given int. + */ + public void print(int i) { + writer.print(i); + } + + /** * Prints the given string. * * The string must not contain any '\n', otherwise the line count will be 1.60 +2 -1 jakarta-tomcat-jasper/jasper2/src/share/org/apache/jasper/resources/messages.properties Index: messages.properties =================================================================== RCS file: /home/cvs/jakarta-tomcat-jasper/jasper2/src/share/org/apache/jasper/resources/messages.properties,v retrieving revision 1.59 retrieving revision 1.60 diff -u -r1.59 -r1.60 --- messages.properties 16 Nov 2002 04:02:18 -0000 1.59 +++ messages.properties 16 Nov 2002 04:20:10 -0000 1.60 @@ -121,6 +121,7 @@ jsp.warning.keepgen=Warning: Invalid value for the initParam keepgenerated. Will use the default value of \"false\" jsp.warning.largeFile=Warning: Invalid value for the initParam largeFile. Will use the default value of \"true\" jsp.warning.enablePooling=Warning: Invalid value for the initParam enablePooling. Will use the default value of \"true\" +jsp.warning.invalidTagPoolSize=Warning: Invalid value for the init parameter named tagPoolSize. Will use default size of {0} jsp.warning.mappedFile=Warning: Invalid value for the initParam mappedFile. Will use the default value of \"false\" jsp.warning.sendErrToClient=Warning: Invalid value for the initParam sendErrToClient. Will use the default value of \"false\" jsp.warning.classDebugInfo=Warning: Invalid value for the initParam classdebuginfo. Will use the default value of \"false\" 1.3 +5 -6 jakarta-tomcat-jasper/jasper2/src/share/org/apache/jasper/runtime/TagHandlerPool.java Index: TagHandlerPool.java =================================================================== RCS file: /home/cvs/jakarta-tomcat-jasper/jasper2/src/share/org/apache/jasper/runtime/TagHandlerPool.java,v retrieving revision 1.2 retrieving revision 1.3 diff -u -r1.2 -r1.3 --- TagHandlerPool.java 26 Jul 2002 23:21:39 -0000 1.2 +++ TagHandlerPool.java 16 Nov 2002 04:20:10 -0000 1.3 @@ -63,6 +63,7 @@ import javax.servlet.jsp.JspException; import javax.servlet.jsp.tagext.Tag; +import org.apache.jasper.Constants; /** * Pool of tag handlers that can be reused. @@ -70,8 +71,6 @@ * @author Jan Luehe */ public class TagHandlerPool { - - private static final int MAX_POOL_SIZE = 5; private Tag[] handlers; @@ -82,7 +81,7 @@ * Constructs a tag handler pool with the default capacity. */ public TagHandlerPool() { - this(MAX_POOL_SIZE); + this(Constants.MAX_POOL_SIZE); } /**
-- To unsubscribe, e-mail: <mailto:[EMAIL PROTECTED]> For additional commands, e-mail: <mailto:[EMAIL PROTECTED]>