Re: [PROPOSAL] jasper2 detection of compile time page include changes

2002-04-25 Thread Petr Jiricka

I also like the idea, however I would like to see some modifications 
which would allow this idea to work for application development, not 
only in deployment environments.

When developing applications, the requirement is to see the changes 
immediately, not after a period of time. So there should be an option to 
run the check on each request (the option can be implemented as an init 
parameter of JSPServlet). This option would be used in a development 
case, and the background thread solution would be used in the live 
deployment scenario. Note that in the former case, not all files in the 
application need to be checked, only the ones included in the currently 
requested page.

Petr Jiricka
software engineer
NetBeans / Forte for Java
Sun Microsystems


Kin-Man Chung wrote:

 +1 on the idea.
 
 With minor changes, we can also implement a compiler server that compiles
 out-of-date pages in the background thread.  This would greatly improve
 the response time for accessing the pages, when recompilations are needed.
 
 
Date: Wed, 24 Apr 2002 10:52:51 -0500
From: Glenn Nielsen [EMAIL PROTECTED]
Subject: [PROPOSAL] jasper2 detection of compile time page include changes
To: [EMAIL PROTECTED]
MIME-version: 1.0
Content-transfer-encoding: 7bit
X-Accept-Language: en
Delivered-to: mailing list [EMAIL PROTECTED]
Mailing-List: contact [EMAIL PROTECTED]; run by ezmlm
X-Spam-Rating: daedalus.apache.org 1.6.2 0/1000/N
List-Post: mailto:[EMAIL PROTECTED]
List-Subscribe: mailto:[EMAIL PROTECTED]
List-Unsubscribe: mailto:[EMAIL PROTECTED]
List-Help: mailto:[EMAIL PROTECTED]
List-Id: Tomcat Developers List tomcat-dev.jakarta.apache.org

A common problem Tomcat users have is that Jasper does not detect when
a compile time included file %@include file=...% changes so that
it can recompile dependent JSP pages.  This propsoal maps out a possible
solution for this.

Create a new class (JspDependency) which is used to store mapping of JSP 
pages to dependent compile time included files.  This class will be 
created for each web application context and the data it depends upon
serialized to a special file in the work directory on context stop,
and read from that file on context startup.  Proposed filename is
JSP_DEPENDENCY.ser.

Here is how this integrates into Jasper:

On context start instantiate a JspDependency object and read in the
dependencies from JSP_DEPENDENCY.ser.  If there are dependencies,
start a background thread which checks for changes in compile time
included files once each 5-15 minutes. Perhaps make this configurable.
If changes are detected, set flags for dependent JSP pages which are 
affected.  Using a thread to accomplish this rather than having JSP 
Load do the dependency checks should reduce the request latency 
overhead for detecting these changes.

The JSP Load method will call a method in JspDependency to determine
whether the current page needs to be recompiled due to dependency changes.
This will just be a quick test of a boolean, actual dependency checks
are done by the background thread.

The JSP page compiler will call a method in JspDependency to remove all
dependencies for the current JSP page on compile start, then call an
add method for each compile time include dependency found.

After a JSP page compile has completed any changes to dependencies
are written back out to the JSP_DEPENDENCY.ser file.

Comments or suggestions?

Regards,

Glenn

--
Glenn Nielsen [EMAIL PROTECTED] | /* Spelin donut madder|
MOREnet System Programming   |  * if iz ina coment.  |
Missouri Research and Education Network  |  */   |
--

--
To unsubscribe, e-mail:   mailto:[EMAIL PROTECTED]
For additional commands, e-mail: mailto:[EMAIL PROTECTED]

 
 
 --
 To unsubscribe, e-mail:   mailto:[EMAIL PROTECTED]
 For additional commands, e-mail: mailto:[EMAIL PROTECTED]
 



--
To unsubscribe, e-mail:   mailto:[EMAIL PROTECTED]
For additional commands, e-mail: mailto:[EMAIL PROTECTED]




Re: [PROPOSAL] jasper2 detection of compile time page include changes

2002-04-24 Thread Kin-Man Chung

+1 on the idea.

With minor changes, we can also implement a compiler server that compiles
out-of-date pages in the background thread.  This would greatly improve
the response time for accessing the pages, when recompilations are needed.

 Date: Wed, 24 Apr 2002 10:52:51 -0500
 From: Glenn Nielsen [EMAIL PROTECTED]
 Subject: [PROPOSAL] jasper2 detection of compile time page include changes
 To: [EMAIL PROTECTED]
 MIME-version: 1.0
 Content-transfer-encoding: 7bit
 X-Accept-Language: en
 Delivered-to: mailing list [EMAIL PROTECTED]
 Mailing-List: contact [EMAIL PROTECTED]; run by ezmlm
 X-Spam-Rating: daedalus.apache.org 1.6.2 0/1000/N
 List-Post: mailto:[EMAIL PROTECTED]
 List-Subscribe: mailto:[EMAIL PROTECTED]
 List-Unsubscribe: mailto:[EMAIL PROTECTED]
 List-Help: mailto:[EMAIL PROTECTED]
 List-Id: Tomcat Developers List tomcat-dev.jakarta.apache.org
 
 A common problem Tomcat users have is that Jasper does not detect when
 a compile time included file %@include file=...% changes so that
 it can recompile dependent JSP pages.  This propsoal maps out a possible
 solution for this.
 
 Create a new class (JspDependency) which is used to store mapping of JSP 
 pages to dependent compile time included files.  This class will be 
 created for each web application context and the data it depends upon
 serialized to a special file in the work directory on context stop,
 and read from that file on context startup.  Proposed filename is
 JSP_DEPENDENCY.ser.
 
 Here is how this integrates into Jasper:
 
 On context start instantiate a JspDependency object and read in the
 dependencies from JSP_DEPENDENCY.ser.  If there are dependencies,
 start a background thread which checks for changes in compile time
 included files once each 5-15 minutes. Perhaps make this configurable.
 If changes are detected, set flags for dependent JSP pages which are 
 affected.  Using a thread to accomplish this rather than having JSP 
 Load do the dependency checks should reduce the request latency 
 overhead for detecting these changes.
 
 The JSP Load method will call a method in JspDependency to determine
 whether the current page needs to be recompiled due to dependency changes.
 This will just be a quick test of a boolean, actual dependency checks
 are done by the background thread.
 
 The JSP page compiler will call a method in JspDependency to remove all
 dependencies for the current JSP page on compile start, then call an
 add method for each compile time include dependency found.
 
 After a JSP page compile has completed any changes to dependencies
 are written back out to the JSP_DEPENDENCY.ser file.
 
 Comments or suggestions?
 
 Regards,
 
 Glenn
 
 --
 Glenn Nielsen [EMAIL PROTECTED] | /* Spelin donut madder|
 MOREnet System Programming   |  * if iz ina coment.  |
 Missouri Research and Education Network  |  */   |
 --
 
 --
 To unsubscribe, e-mail:   mailto:[EMAIL PROTECTED]
 For additional commands, e-mail: mailto:[EMAIL PROTECTED]
 


--
To unsubscribe, e-mail:   mailto:[EMAIL PROTECTED]
For additional commands, e-mail: mailto:[EMAIL PROTECTED]