//
public void testa(){
testb();
sayHello();
}
//
public void testb(){
sayHello();
}
//
private void sayHello() {
}
我的问题是,当@Aspect
使用@Around
拦截3种方法时(testa
,testb
,sayHello
)。如何通过哪种方法(a或b)调用sayHello()
?
答案 0 :(得分:0)
尝试使用反射来获取被调用方法的堆栈跟踪。你可能需要这样的东西:
StackTraceElement[] stackTraceElements = Thread.currentThread().getStackTrace();
Javadocs说:
数组的最后一个元素表示堆栈的底部,这是序列中最近的方法调用。