JVM multiples par rapport à un seul serveur d'applications

Je fais face à un système qui exécute une application Java par le client dans son propre JVM. Nous avons une demi-douzaine de serveurs dédiés, qui sont en cours d'exécution de près de 100 machines virtuelles total et des ensembles de scripts personnalisés pour la gestion de ces machines virtuelles. Cette configuration est vraiment à montrer son âge à ce point: la gestion que de nombreux Jvm est en train de devenir un suivi/gestion de cauchemar et nous sommes constamment à traiter avec des tas de problèmes de dimensionnement. Nous aimerions passer à une approche plus moderne, et il suffit d'exécuter un tas d'applications dans une seule application serveur par machine physique. Toutefois, en gardant les applications distinctes ne présentent de nets avantages en termes d'isolement (par exemple de la mémoire des erreurs n'affectent qu'un seul client). Chaque client logiciel de pile a la mémoire des exigences qui varient largement.

Ma question: est-il un moyen d'avoir le meilleur des deux mondes d'ici et d'exécuter plusieurs applications en une seule JVM (serveur d'application) et de toujours maintenir un certain niveau d'isolement? Ou est-ce juste un moderne fait de la vie que vous avez besoin pour gérer les besoins en mémoire d'un ensemble d'applications de ces jours? Il existe d'autres solutions en dehors d'un serveur d'application ou Java EE conteneur (par exemple, Wildfly ou de Printemps) que je suis en manque ici? Il semble que ce système est une exclusion d'une autre époque!

source d'informationauteur Noky