Grundsätzlich versuche ich dynamisch eine Klasse mit annotierten Methoden zu laden, die Hauptmethode der Klasse auszuführen und dann einige Code auszulösen, wenn die annotierten Methoden aufgerufen werden.
Beispiel :
public myclass {
public static void myMethod1(){
mymethod2();
}
@trace
public static void myMethod2(){
... etwas Code hier ...
}
public static void main(String[] args) {
mymethod1();
}
}
Das Programm traceHandler.java sollte in der Lage sein, jede Klasse zu laden, ihre Hauptmethode auszuführen und "Methode X aufgerufen" auszugeben, wenn eine annotierte X Methode aufgerufen wird. Ich habe den dynamischen Laden Teil erledigt, aber ich kann keinen Weg finden, "Hörer" auf die annotierten Methoden zu setzen.
Die Lösungen, die ich gefunden habe, beinhalten die Verwendung von AOP oder von Proxys, indem die Zielklassen einige Schnittstellen implementieren (1) gibt es noch einen anderen Weg, um das Ganze dynamisch zu machen, ohne in die Details der Zielklasse einzusteigen?