Получение звонящего в Spring AOP Proxy - PullRequest
2 голосов
/ 14 ноября 2008

Я ищу способ разработки MethodInterceptor, который печатает класс вызывающего.

Есть ли способ получить объект вызывающего в метод-перехватчик?

Ответы [ 2 ]

3 голосов
/ 18 мая 2009

Это может сработать, объявить исключение, а затем использовать его для проверки стека в тот момент, когда ваш метод перехватывается:


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);

0 голосов
/ 14 ноября 2008

Вы могли бы сделать что-то грубое, сгенерировав трассировку стека и проверив ее, но это ужасно

...