让调用者进入Spring AOP代理

时间:2008-11-14 11:10:39

标签: java spring proxy aop

我正在寻找一种开发MethodInterceptor的方法,该方法打印调用者类。

有没有办法让调用者对象进入方法拦截器?

2 个答案:

答案 0 :(得分:3)

这可能有效,声明一个异常,然后在截获方法时使用它来查看堆栈:


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

答案 1 :(得分:0)

你可以做一些粗略的事情,生成一个堆栈跟踪并检查它,但这很难看