Hallo zusammen,
Ich speicher die Klassennamen (also package + classname), die in meiner Anwendung verwendet werden können, in einer DB (es handelt sich darum um Klassen, die eine Komponente der Anwendung repräsentieren).
Nun möchte ich prüfen, ob die Klassennamen, die in der DB liegen, auch "in echt" in meinem Projekt existieren.
Mein bisheriges Vorgehen was so, dass ich mit Class.forName(className) nach der Klasse suche und wenn eine Exception fliegt weiss ich, dass die Klasse nicht (mehr) da ist (bzw. umbenannt wurde)...
Nun ist das Problem, dass Class.forName() nach dem ersten Aufruf die Klassen in einem Cache hält. D.h. wenn ich nach der ersten Prüfung testweise eine Klasse lösche, dann findet Class.forName() die Klasse trotzdem, weil sie noch im Cache vorhanden ist.
Habt ihr eine Idee wie ich das implementieren könnte?
Gruß
Micha
Ich speicher die Klassennamen (also package + classname), die in meiner Anwendung verwendet werden können, in einer DB (es handelt sich darum um Klassen, die eine Komponente der Anwendung repräsentieren).
Nun möchte ich prüfen, ob die Klassennamen, die in der DB liegen, auch "in echt" in meinem Projekt existieren.
Mein bisheriges Vorgehen was so, dass ich mit Class.forName(className) nach der Klasse suche und wenn eine Exception fliegt weiss ich, dass die Klasse nicht (mehr) da ist (bzw. umbenannt wurde)...
Nun ist das Problem, dass Class.forName() nach dem ersten Aufruf die Klassen in einem Cache hält. D.h. wenn ich nach der ersten Prüfung testweise eine Klasse lösche, dann findet Class.forName() die Klasse trotzdem, weil sie noch im Cache vorhanden ist.
Habt ihr eine Idee wie ich das implementieren könnte?
Gruß
Micha