Feature Requests item #685544, was opened at 2003-02-12 16:47
You can respond by visiting: 
https://sourceforge.net/tracker/?func=detail&atid=354754&aid=685544&group_id=4754

Category: framework
Group: None
Status: Open
Resolution: None
Priority: 5
Submitted By: Joel Trunick (harpsoft)
Assigned to: Nobody/Anonymous (nobody)
Summary: Efficient Page Refresh w/o restart (ala jsp)

Initial Comment:

I would like to drop new pages into production without 
having to restart the webserver. This exists in 
development as an option, but is expensive (reloads 
pages every click).

This would need to be efficient like JSP. That is, simply 
check the timestamps on the files to determine whether 
they are updated. If they are, then reload, w/o flushing 
any sessions. If the files are in a .zip (ie. .war file), then 
no updating/checking is necessary.

This should be the default. No option necessary, 
development or production. If you don't need it, .war it.

This is highly important and practical for a 24x7 website.

Joel

----------------------------------------------------------------------

>Comment By: Howard Lewis Ship (hship)
Date: 2003-03-04 12:15

Message:
Logged In: YES 
user_id=26816

Timestamp checking IS possible in theory.  I believe that you 
can get the URL for each resource (even from the classpath, 
even in a JAR or WAR) and from that, the date last modified.  
For packaged files, it is the date last modified of the archive.

I'm concerned about the performance impact, and the degree 
to which code will be mangled to support this.

Think about this:  "check the timestamps".  Which 
timestamps:  We're talking about the page template, page 
specification, and the template and specification of every 
compoent, recursively.

that means that when IREquestCycle gets a page, it has to 
perform a check on potentially dozens of files (yes, we would 
gate this, and only perform checks every so often).

I would rather spend the effort creating some kind of JMX 
extension that would link to Tapestry and allow you to safely 
reset the Tapestry caches, or a smarter version of the reset 
service that you could invoke from your web browser after 
uploading new content.  These solutions ensure that the 
running application continues to use the old content until the 
upload of new content is complete.

----------------------------------------------------------------------

Comment By: Luke Galea (lgalea)
Date: 2003-03-04 11:24

Message:
Logged In: YES 
user_id=444918

Could you extend the page service to check the timestamps 
and have it call the reset service if needed?

I suppose having your own 
custom "AutoRefreshPageService" would be somewhat 
difficult though because so many things would still call the 
baseclass..

Is there any merit to this? Something I am missing?

----------------------------------------------------------------------

Comment By: Howard Lewis Ship (hship)
Date: 2003-03-04 11:04

Message:
Logged In: YES 
user_id=26816

This is a lot of work.  It may be possible in the future, but 
there are more important priorities right now.

I woudl suggest looking at the reset service; it;'s job is to 
discard all cached data.  It is disabled by default because it 
seems like a likely candidate for a denial-of-service attack.

Perhaps you could create a variation of reset that had some 
app-specific validations (i.e., that the client originated within 
your internet domain).  Thus, after uploading new content, 
you could invoke the service to force Tapestry to accept the 
changes.

----------------------------------------------------------------------

You can respond by visiting: 
https://sourceforge.net/tracker/?func=detail&atid=354754&aid=685544&group_id=4754


-------------------------------------------------------
This SF.net email is sponsored by: Etnus, makers of TotalView, The debugger 
for complex code. Debugging C/C++ programs can leave you feeling lost and 
disoriented. TotalView can help you find your way. Available on major UNIX 
and Linux platforms. Try it free. www.etnus.com
_______________________________________________
Tapestry-developer mailing list
[EMAIL PROTECTED]
https://lists.sourceforge.net/lists/listinfo/tapestry-developer

Reply via email to