Hi, ich habe da ein kleines Problem.
Ich möchte einen Container entwerfen in dem ein ControllerThread läuft der wiederum andere Klassen lädt und
ebenfalls als Threads startet und diese dann überwacht. Die Threads in dem Container dürfen miteinander kommunizieren, allerdings dürfen sie von außen nicht erreichbar sein. Die Klassen die sich in dem Container befinden, müssen also nach außen hin unsichtbar sein.
Von diesen Containern sollen mehrere in einer JVM laufen, die wiederum untereinander kommunizieren sollen.
Hat irgendwer eine Idee wie man das lösen könnte?
Kann man irgendwie den Classpath für jeden Container beschränken? So das er nur Klassen laden kann, die sich in dem Classpath befinden?
Ich habe mich schon ein wenig mit dem securityManager beschäftigt, sehe darin aber auch nicht wirklich eine Lösung.
Vielleicht ist es ja auch ganz einfach und ich sehe vor lauter Wald die Bäume nicht
Für einen Vorschlag oder Kick in die richtige Richtung wäre ich sehr dankbar.
Gruß
Nols
[edit]
Hab den Titel geändert, weil sich das Problem geändert hat. Siehe unten!
Ich möchte einen Container entwerfen in dem ein ControllerThread läuft der wiederum andere Klassen lädt und
ebenfalls als Threads startet und diese dann überwacht. Die Threads in dem Container dürfen miteinander kommunizieren, allerdings dürfen sie von außen nicht erreichbar sein. Die Klassen die sich in dem Container befinden, müssen also nach außen hin unsichtbar sein.
Von diesen Containern sollen mehrere in einer JVM laufen, die wiederum untereinander kommunizieren sollen.
Hat irgendwer eine Idee wie man das lösen könnte?
Kann man irgendwie den Classpath für jeden Container beschränken? So das er nur Klassen laden kann, die sich in dem Classpath befinden?
Ich habe mich schon ein wenig mit dem securityManager beschäftigt, sehe darin aber auch nicht wirklich eine Lösung.
Vielleicht ist es ja auch ganz einfach und ich sehe vor lauter Wald die Bäume nicht
Für einen Vorschlag oder Kick in die richtige Richtung wäre ich sehr dankbar.
Gruß
Nols
[edit]
Hab den Titel geändert, weil sich das Problem geändert hat. Siehe unten!