I am developing a web application in java using the Vaadin framework.
I am running that application on Apache Tomcat. What I want to ask is that, if I run that application on Apache Tomcat and access the same application using two different browsers on two different computers, then does the application then have two instances on Tomcat or does it have a single instance?? I have searched for it, but not been able to find a satisfactory answer.
Thanks !
One instance of Tomcat, and many instances of your Vaadin app.
To access your Vaadin app, the user points their web browser to your Vaadin app’s URL. Tomcat must already be running in order to accept the request from the web browser. When the already-running instance of Tomcat receives that request, Tomcat starts a new thread. In that thread a new instance of your subclass of the Vaadin “Application” class will be created and run.
So, if you have 5 simultaneous users running your Vaadin app, you will have one instance of Tomcat running. And that Tomcat instance will be running 5 sessions, each in its own thread running its own instance of your Vaadin “Application” subclass.
Anything marked “static” in your app applies to all 5 instances of your app, while anything not marked “static” applies only to a single instance of your app (a single user).