質問

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

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

役に立ちましたか?

解決

これは機能し、例外を宣言し、それを使用してメソッドがインターセプトされた時点でスタックを見ることができます:


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

他のヒント

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

ライセンス: CC-BY-SA帰属
所属していません StackOverflow
scroll top