All this Application Server development is funny... it is like going back to 16-bit Windows (remember, back then, if a single application crashed, everything went down with it). It is the same with this modern ( JavaEnterpriseEdition based ) application servers, if one application goes crazy (infinite loop, very long and slow process, memory leak, etc), it will take down the entire application server, and there is no way around that that I know of (Same thing with Eclipse, if one plug-in goes crazy, everything goes down) it is funny (and sad at the same time) because so much time and resources were wasted trying to give processes proper isolation at the OS level, and now we are using technologies that make that effort irrelevant.
So from a ProcessIsolation perspective all those JavaEnterpriseEdition ApplicationServer are in fact limited to run only one application: Want to run 2 applications in TomCat and be 100% sure that one can not make the other crash? Run 2 TomCat instances. Same thing goes for the free ApplicationServers? such as JettyAs,JbossApplicationServer, ApacheGeronimo , GlassFish, JonAs, SpringSourcedmServer and even the really expensive ones, like WebLogic or WebSphere. What some of the expensive ones offer as way to partially overcome this limitation are UIs to easily configure multiple different JavaVirtualMachine processes from a single management console, but due to the fact that the JavaVirtualMachine can not manage its memory dinamically (you have to statically set the minimum and maximum memory it will use, you can not leave that job to the OperatingSystem), you easily end up with an under or over utilized RAM
The funniest thing is that the much security and stability criticised InternetInformationServer can actually run AspDotNet applications with real ProcessIsolation if it is configured in WorkerProcessIsolationMode.
And now, with GoogleChrome even JavaScript has ProcessIsolation...