Are java static variables shared across all sessions using the same webapp or does each session gets its own version of the static variables?
To put it another way, do Tomcat created a new set of classes for each session or just one set for the whole web app?
Tomcat creates one ClassLoader
for each web application, i.e. war-File or context. So every Class
is loaded once for the web application. Therefore static variables are shared across multiple sessions and requests.
References:
- Apache Tomcat 7 Classloader Howto
Static variables are shared across the sessions.
Be careful of using static variables.