타이틀을 짧게 적다보니 말이 좀 이상합니다만...
class Target {
@TargetAnnotation
public void foo() {
//something
}
}
@Aspect
@Order(10)
class TargetAnnotationAdvisor {
@NestedAnnotation
@Around("@annotation(targetAnnotation)")
public void executeFoo() {
//something
}
}
@Aspect
@Order(20)
class AnnotationAopAdvisor {
@Before("@annotation(NestedAnnotation)")
public void nestedExecuteFoo() {
//something
}
}
Target 클래스의 foo 메소드를 @TargetAnnotation 을 이용하여 보고 있는 TargetAnnotationAdvisor 클래스가 있습니다.
그리고 foo 메소드 실행에 따라 TargetAnnotationAdvisor 의 executeFoo 함수를 실행시키려고 합니다.
그런데 그 executeFoo 실행 시점에 AnnotationAopAdvisor 클래스의 nestedExecuteFoo 함수를 실행시키고자 합니다.
이론상으론 가능하다 생각하여 작업하였으나 nestedExecuteFoo 함수가 실행되지 않더군요.
Order 에 대해서는 같은 포인트컷에 대해서만 적용됩니다.
따라서 위에 적은 @Order 는 사실 무의미하죠.
혹시 이런 문제를 해결해본 경험이 있을까요~?
0개의 의견 from SLiPP
의견을 남기기 위해서는 SLiPP 계정이 필요합니다.
안심하세요! 회원가입/로그인 후에도 작성하시던 내용은 안전하게 보존됩니다.
SLiPP 계정으로 로그인하세요.
또는, SNS 계정으로 로그인하세요.