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.
source
share