Hallo,
folgender Sachverhalt:
Ich bekomme immer wieder verschiedene ear-files, die wiederum ein bestimmtes jar-file enthalten, welches wiederum unter bestimmten packages verschiedene Java class-files enthält. Einige dieser class-files sind session beans.
Nun möchte ich ein Java-Programm schreiben, welches diese class-files zur Laufzeit per Classloader läd und über Reflection die Annotationen ausliest und entsprechend durch Erkennen einer @Stateful oder @Stateless -Annotation eine Session Bean identifiziert. Diese Session Bean möchte ich dann per Reflection nach weiteren Dingen durchsuchen (z.B. Annotationen von Methoden usw.).
Der Sinn dahinter ist, dass die Session Beans bestimmte Konventionen erfüllen müssen und erst, wenn alle Session Beans diese erfüllen, dürfen sie auf den JBoss deployed werden. Daher soll die Prüfung außerhalb eines Applikationsserver erfolgen.
Nun ist meine Frage:
Geht denn das überhaupt?
Wenn ja, wie kann ich die class-files als Class-Objekte zur Laufzeit laden, damit ich Reflections durchführen kann?
Ich vermute, ich muss zunächst das ear-file und danach das jar-file entpacken und dann die Ordnerstruktur nach class-files durchsuchen. Die gefundenen class-files müssen dann mit einem Classloader geladen werden.
Ich wäre euch sehr dankbar, wenn ihr mir Code-Vorschläge diesbezüglich geben könntet.
Grüße
Tom
folgender Sachverhalt:
Ich bekomme immer wieder verschiedene ear-files, die wiederum ein bestimmtes jar-file enthalten, welches wiederum unter bestimmten packages verschiedene Java class-files enthält. Einige dieser class-files sind session beans.
Nun möchte ich ein Java-Programm schreiben, welches diese class-files zur Laufzeit per Classloader läd und über Reflection die Annotationen ausliest und entsprechend durch Erkennen einer @Stateful oder @Stateless -Annotation eine Session Bean identifiziert. Diese Session Bean möchte ich dann per Reflection nach weiteren Dingen durchsuchen (z.B. Annotationen von Methoden usw.).
Der Sinn dahinter ist, dass die Session Beans bestimmte Konventionen erfüllen müssen und erst, wenn alle Session Beans diese erfüllen, dürfen sie auf den JBoss deployed werden. Daher soll die Prüfung außerhalb eines Applikationsserver erfolgen.
Nun ist meine Frage:
Geht denn das überhaupt?
Wenn ja, wie kann ich die class-files als Class-Objekte zur Laufzeit laden, damit ich Reflections durchführen kann?
Ich vermute, ich muss zunächst das ear-file und danach das jar-file entpacken und dann die Ordnerstruktur nach class-files durchsuchen. Die gefundenen class-files müssen dann mit einem Classloader geladen werden.
Ich wäre euch sehr dankbar, wenn ihr mir Code-Vorschläge diesbezüglich geben könntet.
Grüße
Tom