2016-11-14 5 views
0

Interceptorを実装する場合、InvocationContextを使用してインターセプトされている実際の(具体的な)クラスの名前を取得する方法はありますか?@InterceptedとInvocationContext

私が間違っていない限り、ic.getMethod().getDeclaringClass().getName()を呼び出すと、(拡張された)インターフェイス/ベース抽象クラスが返されますか?

@Intercepted注釈は、実際の実装を傍受される唯一の方法ですか?過去には

答えて

0

、私はインターセプトされたクラスの名前を取得するには、以下の使用している:この文脈で

public Object audit(InvocationContext invocation) throws Exception 
{ 
    final String name = invocation.getTarget().getClass().getName(); 
    ... 

「ターゲット」を傍受されているクラスです。

+0

はい、これは正しいですが、 '' @ AroundConstruct'''メソッドを代行するとnullになるので、必ずnullをチェックしてください。 – maress

関連する問題