2014-06-19 2 views
1
class SampleClass{ 
    ChildClass childClass; 
    public void init(){ 
     childClass = ChildUtil.getChildClass(); 
     childClass.callService("batman"); 
    } 
} 

화면 나는 callService 방법은 측면 (즉. SampleClass)에 의해 교차 된 내 클래스의 이름을 원하는포인트 컷

@Aspect 
    public class CallServiceAspect{ 
     @After("execution(* com.xyz.ChildClass.callService(..))") 
     public void afterCallService(JoinPoint jp){ 
      log.debug(jp.getTarget().getName()); 
     } 
    } 

에 의해 교차 클래스의 이름을 얻기. 그것을 얻을 수있는 방법이 있습니까?

+0

'callService'는 정적입니까? –

+0

^nope. 편집하겠습니다. – sudeepdino008

+0

가능한 [주변에서 발신자 정보 정보를 얻는 방법] (http://stackoverflow.com/questions/5630809/how-to-get-the-caller-method-information-from-around-advise) –

답변

1

execution을 가로채는 대신 call을 사용했습니다. 그런 다음 jp.getThis()을 사용하여 SampleClass 이름을 얻을 수있었습니다.

관련 문제