2

呼び出し元クラスを出力する MethodInterceptor を開発する方法を探しています。

呼び出し元オブジェクトをメソッド インターセプターに取得する方法はありますか?

4

2 に答える 2

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

于 2009-05-18T05:18:41.343 に答える
0

スタック トレースを生成して検査することで粗雑なことを行うこともできますが、それは見苦しいです

于 2008-11-14T11:21:02.367 に答える