tomcat-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From ru...@us.ibm.com
Subject Re: Servlet reloading?
Date Sat, 12 Feb 2000 21:53:12 GMT


I've been lurking on this discussion, but not contributing basically
because my name is associated with this item in the plan, and so far, I
haven't had the time I would like to have had to devote to this.  I'm not
giving up just yet, but remember, sometimes in an all-volunteer
organization, you get what you pay for ;-)

Returning back to the topic at hand, I see three types of class loaders
being popular:

1.  Simple class loader - Load once, run forever.

    No timestamp checks.  If servlet is loaded, use it.

    Overall, I see this one as being the most popular.  Why?
    Raw speed.  No file timestamp checks.  In many cases,
    everything can be in memory with no disk accesses.

2.  Simple context flusher - When in doubt, flush it out.

    Timestamp checks on every access.  Any discrepancy, and
    the entire context is flushed and restarted from scratch.

    Overall, I see this as the one that I would use the most.
    Why?  As a developer, I'm changing code, and spend most
    of my time debugging and exploring.  The last thing I
    need to

3.  Stateful restart - changes incorporated into live system

    I have difficultly imaging the use case for this one.

    On one hand, I certainly admire the technical solution
    to a quite difficult problem.  And perhaps someone can
    argue this is needed for sites which can tolerate
    absolutely no down time.

    On the other hand, being basically distrustful, I know I
    wouldn't want to open myself up to the possibility of an
    incomplete restore on a production site - however rare this
    may be.  Nor would I want to deal with the uncertainty
    while debugging.

So, my guess is that we need to have three (or more) plug-in
implementations available, accompanied by instructions on when one might
want to prefer one over the others.

Question for all: am I missing any key scenarios?

- Sam Ruby



Mime
View raw message