Frage

Ich bin auf der Suche nach einem Weg, um eine MethodInterceptor zu entwickeln, das den Anrufer Klasse druckt.

Gibt es eine Möglichkeit die Anrufer Objekt in das Verfahren Interceptor zu bekommen?

War es hilfreich?

Lösung

Dies könnte funktionieren, erklärt eine Ausnahme und verwenden Sie es dann an der Zeit, einen Blick auf den Stapel zu erhalten, wenn Ihre Methode abgefangen:


Throwable t = new Throwable();
StackTraceElement[] elements = t.getStackTrace();

String calleeMethod = elements[0].getMethodName();
String callerMethodName = elements[1].getMethodName();
String callerClassName = elements[1].getClassName();

System.out.println("CallerClassName=" + callerClassName + " , Caller method name: " + callerMethodName);
System.out.println("Callee method name: " + calleeMethod);

Andere Tipps

Sie könnte etwas roh tun einen Stack-Trace mit dem Erzeugen und Prüfen sie, aber das ist hässlich

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top