Worker Process Isolation Mode

In InternetInformationServer WorkerProcessIsolationMode loads application code into the worker process and therefore they are isolated from each other through operating system process boundaries, this way, if one application crashes, it can not affect the others.

JavaEnterpriseEdition ApplicationServers can not offer this kind of isolation because the JavaVirtualMachine is not a MultitaskingVirtualMachine


Question: How impractical would it be for a master Java process to kick off another Java process (e.g., by invoking a command through the host OS shell interface) then communicating through a socket? What are the design tradeoffs between this work-around and a genuine MultitaskingVirtualMachine?

Answer: That is what some of the expensive JavaEnterpriseEdition ApplicationServers offer as way to partially overcome this limitation (I guess is not easy to implement or the free ones would have it too), but since the JavaVirtualMachine can not manage its memory dynamically (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 memory resources.

More information here: http://java.sun.com/developer/technicalArticles/Programming/mvm/

Excellent response. Thank you!


EditText of this page (last edited February 12, 2009) or FindPage with title or text search