Mehrere Applikationen in einer JVM starten?

flashray

Erfahrenes Mitglied
Hallo Javaleute,

kann man mehrere Applikationen in einer JVM laufen lassen? Falls ja, ist das dann auch empfehlenswert? Wo kann ich das nachlesen?

Hab auf die schnelle nix über google gefunden.

Als Beispiel, bei mir laufen ständig eine Uhr und zwei verschiedene Reminderapplikation. Manchmal nutze ich dann auch eine Editor- oder Rechnerapplikation. Das sind dann 3 4 verschiedene JVMs. Wenn diese dann nur eine JVM nutzen würden, wäre das doch theoretisch Ressourcenschonender?

Vg Erdal
 
Hallo!

Dazu gibts mehrere Moeglichkeiten...
Du koenntest beispielsweise eine Art Java Launcher kreieren, welcher zunaechst mal die JVM startet und anschliessend eine Menge von main-Methoden vordefinierter Klassen jeweils in einem eigenen Thread aufruft. Das Problem dabei ist, dass diese Anwendungen dann nicht wirklich voneinander isoliert laufen. Soll heissen, dass sobald eine Anwendung einen Fehler verursacht die ganze JVM mit allen anderen Anwendung beendet wird. Weiterhin teilen sich die einzelnen "Anwendungen" dann Resourcen wie Klassen/ClassLoader/Threads/ System.in/out Streams...

Genau mit diesem Problem beschaeftigt sich der JSR 121: Application Isolation API Specification.
http://www.jcp.org/en/jsr/detail?id=121
Wann dieses Feature letztendlich verfuegbar sein wird kann ich nicht sagen. Im aktuellen Mustang Build hab ich davon nichts gesehen, so werden wir wohl damit auf Dolphin (Java 7) warten muessen.
Siehe dazu auch: http://bitser.net/isolate-interest/slides.pdf
http://bitser.net/isolate-interest/

Gruss Tom
 
Zurück