I am looking at having to support tens or even hundres of instances of our web application in an ASP Model. We use Tomcat as our application server and it seems to me that three possibilities as a base model for each physical server
1. Have a single Tomcat instance per server with multiple virtual hosts 2. Have multiple Tomcat instances on a single OS instance and host one web app per Tomcat instance 3. User virtual servers to host one Tomcat Instance per Virtual OS and host one web app per Tomcat instance. As you go down the stack it seems you use more resources per app instance but get more isolation. This is really like an SMP at the application level but each application instance will connect to a distinct database (this is a domain where crossing the beams would be bad). Do people really do option #1 in a production environment? I can figure out how to set up realms for initialization parameters but it is still a single class namespace within the Tomcat container, right? It seems that special care must be taken with singleton objects (such as the Hibernate Session Factory) so make sure that they are managed in the context of their Virtual Host/App Instance. Are there established practices for doing #1? Thanks, John