Running webapps in separate processes

I would like to launch a web container where each webapp is launched in its own process (JVM). Incoming requests are forwarded by the webapp proxy server running on port 80 to separate web applications, each of which (webapp) runs on its own port in its own JVM.

This will solve three problems:

  • Webapps using JNI (where the JNI code changes between restarts) cannot be restarted. It is impossible to guarantee that the old webapp was garbage collected before loading the new webapp, so when the code calls System.loadLibrary (), the JVM throws:java.lang.UnsatisfiedLinkError: Native Library x already loaded in another classloader.
  • The memory leak library every time the webapp restarts, which ultimately leads to a complete server reboot. Tomcat has been successful in resolving this problem, but it will never be fully fixed.
  • Fast reboot. The mechanism that I propose will allow restarting instant webapp updates. We no longer have to wait for the old webapp to complete the upload, which is the slowest part.

I posted the RFE here and here , I would like to know what you think.

Is there any existing web container today?

+3
source share
4 answers

I am closing this question because I seem to be at a dead end: http://tomcat.10.n6.nabble.com/One-process-per-webapp-td2084881.html

Jetty -.

+1

, DNS -, ? , Weblogic .

0

, AFAIK, , , , - Java , API- , HTTP-. , , JVM - Java.

0

If I understand correctly, you are requesting standard features for enterprise-quality servers such as IBM WebSphere Network Deployment (the disclaimer I work for IBM), where you can distribute applications in many JVMs, and these JVMs can actually be distributed across many physical machines.

I am not sure that your fundamental premise is correct. There is no need to restart the whole JVM to deploy the new version of the application. Many application servers will use the loader class strategy, which allows them to abandon the application version and load a new one.

0
source

All Articles