You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@tomcat.apache.org by "Lorenti, John" <JL...@dcjs.state.va.us> on 2003/01/15 17:03:16 UTC

Do Servlets and Filters in separate contexts share a single JVM i nstance?

Hello,

I am trying to know how Tomcat (4.1.12) handles the creation of each servlet
and/or filter in different contexts.  (I haven't noticed this within the
documentation, but maybe I've just missed it.)  As far as I can tell from
the archives, it seems that each application context is loaded by a distinct
class loader, but I would still like some further information.  Is each
servlet and/or filter context running within its own JVM instance?  or
within its own Process (as in java.lang.Runtime.exec)?  In other words, do
all servlets and filter contexts share the same JVM instance or are they
separated somehow?  If they are kept separate, how (generally speaking) is
that being achieved?

I ask this question from the standpoint of how a servlet/filter "gone amuck"
might impact other non-related servlets and filters living in different
contexts within the Tomcat container.  If a servlet (say) decides to chew up
all of its available memory, will that choke the memory for the rest of the
servlets and filters in other contexts running on the server?  or will that
only impact the rogue servlet itself?

Specifically, I'm considering using a Filter to "hand off" the Input and
Output Streams of a request to a relatively large Object the Filter will
have instantiated.  This Object is not a servlet, but a multi-threaded Jini
Service.  Since there will be more than a few of these Filter-to-Jini
Service "bridges" running within the Tomcat container, I'd like to know
whether or not they will be in their own JVM instance.  (If not, I suspect I
may not want to do this.)

Thank you for your time.

-John R. Lorenti

--
To unsubscribe, e-mail:   <ma...@jakarta.apache.org>
For additional commands, e-mail: <ma...@jakarta.apache.org>