Tomcat and Static Variables

2003-08-17 Thread John Blanco
I've got a book (extra credit to who can name it) 
which uses a Counter servlet as an example of how 
servlet containers handle static variables.

It claims that aliases (I may be wrong on this, it's 
hard to decipher the difference between JWS and Tomcat 
lingo) will create different instances to the target 
Servlet, but static variables are recognized.  So 
access to one servlet instance might result in:

My Counter = 5, Global Counter = 8

While access to the other counter might have given 
you:

My Counter = 4, Global Counter = 8

The global counter would be a count for the two 
instances combined (via the *static* field) and the 
"my" counter would be for the instance via a stanard 
fiield.

I've tried pointing to the same WebApp via two 
different 's, but the two apps are treated as 
completely separate, and the static variable doesn't 
hold.  This is correct...two contexts should never 
interfere.

The question is how I can replicate the above behavior 
so static variables are spanned across more than one 
instance?  Can anyone point me at a Tomcat scoping 
document?

-- 
- John Blanco
- Code Guru @ Rapture In Venice
- http://members.bbnow.net/jblanco

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



RE: Tomcat and Static Variables

2003-08-18 Thread Shapira, Yoav

Howdy,

>   It claims that aliases (I may be wrong on this, it's
>hard to decipher the difference between JWS and Tomcat
>lingo) will create different instances to the target
>Servlet, but static variables are recognized.  So
>access to one servlet instance might result in:

The servlet container may (and tomcat does last I checked) create one
instance of a (non-SingleThreadModel) servlet for every  tag in
web.xml.  So just have two  tags with different 
but same  in your web.xml.  You don't need two contexts
for this.

>   The question is how I can replicate the above behavior
>so static variables are spanned across more than one
>instance?  Can anyone point me at a Tomcat scoping
>document?

The tomcat scoping document is the Servlet Specification more or less ;)
For things that are left up to the container implementation, you'll need
to ask or better yet, read the code.

Yoav Shapira



This e-mail, including any attachments, is a confidential business communication, and 
may contain information that is confidential, proprietary and/or privileged.  This 
e-mail is intended only for the individual(s) to whom it is addressed, and may not be 
saved, copied, printed, disclosed or used by anyone else.  If you are not the(an) 
intended recipient, please immediately delete this e-mail from your computer system 
and notify the sender.  Thank you.


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



Re: Tomcat and Static Variables

2003-08-18 Thread John Blanco
> The servlet container may (and tomcat does last I
> checked) create one instance of a
> (non-SingleThreadModel) servlet for every 
> tag in web.xml.  So just have two  tags
> with different  but same
>  in your web.xml.  You don't need two
> contexts for this.

You nailed it right on the head.  Thanks!  I wonder 
aloud how Tomcat knows which class to use in any 
particular context (the  doesn't map to the 
), but maybe I'll just try it and see.

So, to summarize...because I could find nothing on the 
topic anywhere and maybe this gets indexed 
somewhere...aliases and contexts do not map to 
different instances, 's do.

>
> > The question is how I can replicate the above
> > behavior so static variables are spanned across
> > more than one instance?  Can anyone point me at a
> > Tomcat scoping document?
>
> The tomcat scoping document is the Servlet
> Specification more or less ;) For things that are
> left up to the container implementation, you'll need
> to ask or better yet, read the code.
>
> Yoav Shapira
>
>
>
> This e-mail, including any attachments, is a
> confidential business communication, and may contain
> information that is confidential, proprietary and/or
> privileged.  This e-mail is intended only for the
> individual(s) to whom it is addressed, and may not
> be saved, copied, printed, disclosed or used by
> anyone else.  If you are not the(an) intended
> recipient, please immediately delete this e-mail
> from your computer system and notify the sender. 
> Thank you.
>
>
> 
>- To unsubscribe, e-mail:
> [EMAIL PROTECTED] For
> additional commands, e-mail:
> [EMAIL PROTECTED]

-- 
- John Blanco
- Code Guru @ Rapture In Venice
- http://members.bbnow.net/jblanco

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