tomcat-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Jan Luehe <Jan.Lu...@Sun.COM>
Subject Re: cvs commit: jakarta-tomcat-catalina/webapps/docs changelog.xml jasper-howto.xml
Date Mon, 04 Oct 2004 17:54:13 GMT
Hi Remy,

remm@apache.org wrote:
> remm        2004/10/04 10:39:46
> 
>   Modified:    jasper2/src/share/org/apache/jasper/resources
>                         LocalStrings.properties
>                jasper2/src/share/org/apache/jasper
>                         EmbeddedServletOptions.java Options.java JspC.java
>                jasper2/src/share/org/apache/jasper/compiler Compiler.java
>                webapps/docs changelog.xml jasper-howto.xml
>   Log:
>   - Allow configuring the interval following a compilation during which a JSP will not
be checked for modifications.

how is this different from the 'checkInterval' option?

Jan


>   Revision  Changes    Path
>   1.2       +2 -1      jakarta-tomcat-jasper/jasper2/src/share/org/apache/jasper/resources/LocalStrings.properties
>   
>   Index: LocalStrings.properties
>   ===================================================================
>   RCS file: /home/cvs/jakarta-tomcat-jasper/jasper2/src/share/org/apache/jasper/resources/LocalStrings.properties,v
>   retrieving revision 1.1
>   retrieving revision 1.2
>   diff -u -r1.1 -r1.2
>   --- LocalStrings.properties	1 Sep 2004 10:08:48 -0000	1.1
>   +++ LocalStrings.properties	4 Oct 2004 17:39:45 -0000	1.2
>   @@ -143,6 +143,7 @@
>    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\"
>    jsp.warning.checkInterval=Warning: Invalid value for the initParam checkInterval.
Will use the default value of \"300\" seconds
>   +jsp.warning.modificationTestInterval=Warning: Invalid value for the initParam modificationTestInterval.
Will use the default value of \"4000\" milliseconds
>    jsp.warning.development=Warning: Invalid value for the initParam development. Will
use the default value of \"true\"
>    jsp.warning.fork=Warning: Invalid value for the initParam fork. Will use the default
value of \"true\"
>    jsp.warning.reloading=Warning: Invalid value for the initParam reloading. Will use
the default value of \"true\"
>   
>   
>   
>   1.14      +24 -4     jakarta-tomcat-jasper/jasper2/src/share/org/apache/jasper/EmbeddedServletOptions.java
>   
>   Index: EmbeddedServletOptions.java
>   ===================================================================
>   RCS file: /home/cvs/jakarta-tomcat-jasper/jasper2/src/share/org/apache/jasper/EmbeddedServletOptions.java,v
>   retrieving revision 1.13
>   retrieving revision 1.14
>   diff -u -r1.13 -r1.14
>   --- EmbeddedServletOptions.java	2 Sep 2004 16:05:06 -0000	1.13
>   +++ EmbeddedServletOptions.java	4 Oct 2004 17:39:45 -0000	1.14
>   @@ -164,7 +164,12 @@
>         */
>        private String javaEncoding = "UTF8";
>    
>   -    /*
>   +    /**
>   +     * Modification test interval.
>   +     */
>   +    public int modificationTestInterval = 4000;
>   +    
>   +    /**
>         * Is generation of X-Powered-By response header enabled/disabled?
>         */
>        private boolean xpoweredBy;
>   @@ -226,6 +231,13 @@
>        }
>    
>        /**
>   +     * Modification test interval.
>   +     */
>   +    public int getModificationTestInterval() {
>   +        return modificationTestInterval;
>   +    }
>   +    
>   +    /**
>         * Is Jasper being used in development mode?
>         */
>        public boolean getDevelopment() {
>   @@ -450,6 +462,17 @@
>                }
>            }
>    
>   +        String modificationTestInterval = config.getInitParameter("modificationTestInterval");
>   +        if (modificationTestInterval != null) {
>   +            try {
>   +                this.modificationTestInterval = Integer.parseInt(modificationTestInterval);
>   +            } catch(NumberFormatException ex) {
>   +                if (log.isWarnEnabled()) {
>   +                    log.warn(Localizer.getMessage("jsp.warning.modificationTestInterval"));
>   +                }
>   +            }
>   +        }
>   +
>            String development = config.getInitParameter("development");
>            if (development != null) {
>                if (development.equalsIgnoreCase("true")) {
>   @@ -589,9 +612,6 @@
>    	    }
>            }
>    
>   -        /*
>   -         * X-Powered-By
>   -         */
>            String xpoweredBy = config.getInitParameter("xpoweredBy"); 
>            if (xpoweredBy != null) {
>                if (xpoweredBy.equalsIgnoreCase("true")) {
>   
>   
>   
>   1.25      +6 -0      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.24
>   retrieving revision 1.25
>   diff -u -r1.24 -r1.25
>   --- Options.java	2 Sep 2004 16:05:06 -0000	1.24
>   +++ Options.java	4 Oct 2004 17:39:45 -0000	1.25
>   @@ -164,4 +164,10 @@
>         * Are Text strings to be generated as char arrays?
>         */
>        public boolean genStringAsCharArray();
>   +    
>   +    /**
>   +     * Modification test interval.
>   +     */
>   +    public int getModificationTestInterval();
>   +    
>    }
>   
>   
>   
>   1.83      +7 -0      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.82
>   retrieving revision 1.83
>   diff -u -r1.82 -r1.83
>   --- JspC.java	3 Oct 2004 09:03:21 -0000	1.82
>   +++ JspC.java	4 Oct 2004 17:39:45 -0000	1.83
>   @@ -373,6 +373,13 @@
>        }
>    
>        /**
>   +     * Modification test interval.
>   +     */
>   +    public int getModificationTestInterval() {
>   +        return 4000;
>   +    }
>   +
>   +    /**
>         * Is Jasper being used in development mode?
>         */
>        public boolean getDevelopment() {
>   
>   
>   
>   1.93      +2 -1      jakarta-tomcat-jasper/jasper2/src/share/org/apache/jasper/compiler/Compiler.java
>   
>   Index: Compiler.java
>   ===================================================================
>   RCS file: /home/cvs/jakarta-tomcat-jasper/jasper2/src/share/org/apache/jasper/compiler/Compiler.java,v
>   retrieving revision 1.92
>   retrieving revision 1.93
>   diff -u -r1.92 -r1.93
>   --- Compiler.java	16 Aug 2004 23:48:35 -0000	1.92
>   +++ Compiler.java	4 Oct 2004 17:39:46 -0000	1.93
>   @@ -321,7 +321,8 @@
>            boolean outDated = false;
>            String jsp = ctxt.getJspFile();
>    
>   -        if ((jsw != null) && ((jsw.getLastModificationTest() + 2000) 
>   +        if ((jsw != null) && ((jsw.getLastModificationTest() 
>   +                + ctxt.getOptions().getModificationTestInterval()) 
>                > System.currentTimeMillis())) {
>                return false;
>            }
>   
>   
>   
>   1.128     +4 -0      jakarta-tomcat-catalina/webapps/docs/changelog.xml
>   
>   Index: changelog.xml
>   ===================================================================
>   RCS file: /home/cvs/jakarta-tomcat-catalina/webapps/docs/changelog.xml,v
>   retrieving revision 1.127
>   retrieving revision 1.128
>   diff -u -r1.127 -r1.128
>   --- changelog.xml	4 Oct 2004 15:23:59 -0000	1.127
>   +++ changelog.xml	4 Oct 2004 17:39:46 -0000	1.128
>   @@ -179,6 +179,10 @@
>          <fix>
>            Fix cosmetic issue where extra CRLF would be inserted during each precompilation
in web.xml. (remm)
>          </fix>
>   +      <update>
>   +        Allow configuring the interval following a compilation during which a JSP
will not be checked
>   +        for modifications. (remm)
>   +      </update>
>        </changelog>
>      </subsection>
>    
>   
>   
>   
>   1.17      +26 -1     jakarta-tomcat-catalina/webapps/docs/jasper-howto.xml
>   
>   Index: jasper-howto.xml
>   ===================================================================
>   RCS file: /home/cvs/jakarta-tomcat-catalina/webapps/docs/jasper-howto.xml,v
>   retrieving revision 1.16
>   retrieving revision 1.17
>   diff -u -r1.16 -r1.17
>   --- jasper-howto.xml	18 Sep 2004 17:09:31 -0000	1.16
>   +++ jasper-howto.xml	4 Oct 2004 17:39:46 -0000	1.17
>   @@ -117,6 +117,11 @@
>    print statement per input line, to ease debugging?
>    <code>true</code> or <code>false</code>, default <code>true</code>.</li>
>    
>   +<li><strong>modificationTestInterval</strong> - Checks for modification
for a given
>   +JSP file (and all its dependent files) will be performed only once every specified
amount
>   +of milliseconds. Setting this to -1 will cause the JSP to be checked on every access.
>   +Default is <code>4000</code> milliseconds.</li>
>   +
>    <li><strong>reloading</strong> - Should Jasper check for modified
JSPs?
>    <code>true</code> or <code>false</code>, default <code>false</code>.</li>
>    
>   @@ -129,10 +134,26 @@
>    </ul>
>    </p>
>    
>   +<p>The Java compiler from Eclipse JDT in included as the default compiler. It
is an
>   +advanced Java compiler which will load all dependencies from the Tomcat class loader,

>   +which will help tremendously when compiling on large installations with tens of JARs.
>   +On fast servers, this will allow sub-second recompilation cycles for even large JSP

>   +pages. This new compiler will be updated to support the Java 5 syntax as soon as
>   +possible.</p>
>   +
>   +<p>Apache Ant, which was used in previous Tomcat releases, can be used instead
instead of 
>   +the new compiler by simply removing the <code>common/lib/jasper-compiler-jdt.jar</code>
file, 
>   +and placing the <code>ant.jar</code> file from the latest Ant distribution
in the 
>   +<code>common/lib</code> folder.</p>
>   +
>    </section>
>    
>    <section name="Production Configuration">
>    
>   +<p>The main JSP optimization which can be done is precompilation of JSPs. However,
>   +this might not be possible (for example, when using the jsp-property-group feature)
>   +or practical, in which case the configuration of the Jasper servlet becomes critical.</p>
>   +
>    <p>When using Jasper 2 in a production Tomcat server you should consider
>    making the following changes from the default configuration.
>    <ul>
>   @@ -140,6 +161,9 @@
>    pages compilation set this to <code>false</code>.</li>
>    <li><strong>genStrAsCharArray</strong> - To generate slightly more
efficient 
>    char arrays, set this to <code>true</code>.</li>
>   +<li><strong>modificationTestInterval</strong> - If development has
to be set to
>   +<code>true</code> for any reason (such as dynamic generation of JSPs),
setting
>   +this to a high value will improve performance a lot.</li>
>    <li><strong>trimSpaces</strong> - To remove useless bytes from the
response,
>    set this to <code>true</code>.</li>
>    </ul>
>   @@ -150,7 +174,8 @@
>    <section name="Web Application Compilation">
>    
>    <p>Using Ant is the preferred way to compile web applications using JSPC. 
>   -Use the script given below to precompile a webapp:
>   +Use the script given below (a similar script is included in the "deployer" 
>   +download) to precompile a webapp:
>    </p>
>    
>    <p>
>   
>   
>   
> 
> ---------------------------------------------------------------------
> To unsubscribe, e-mail: tomcat-dev-unsubscribe@jakarta.apache.org
> For additional commands, e-mail: tomcat-dev-help@jakarta.apache.org
> 



---------------------------------------------------------------------
To unsubscribe, e-mail: tomcat-dev-unsubscribe@jakarta.apache.org
For additional commands, e-mail: tomcat-dev-help@jakarta.apache.org


Mime
View raw message