I have a web app that is being served through Tomcat. My app lets users submit their own workflow which will then be executed on the server. My problem is how to control how much memory each user is taking up on the server. I think Tomcat itself runs apps in a sandbox of its own. I say this because when my app runs out of memory and crashes, Tomcat still keeps running. How does Tomcat sandbox the app (or does it)? Does it run the app on a separate JVM?
On a related note, a similar question about controlling thread CPU and memory usage has been asked before. The solutions suggested were not acceptable for me and I'd like to believe that Tomcat has a different mechanism. But for those who are interested, http://stackoverflow.com/questions/1202184/throttling-cpu-memory-usage-of-a-thread-in-java
Thanks!