• 카테고리

    질문 & 답변
  • 세부 분야

    백엔드

  • 해결 여부

    미해결

12 쳅터 실전 예제 어드바이저 호출 순서 질문

22.05.01 15:49 작성 조회수 277

0

[질문 템플릿]
1. 강의 내용과 관련된 질문인가요? (예)
2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (예)
3. 질문 잘하기 메뉴얼을 읽어보셨나요? (예)

[질문 내용]

같은 @Aspect 클래스 안에 있는 어드바이저 호출순서는 @Around, @before @After @AfterReturning @AfterThrowing 이라고 알려주셨습니다.
 
질문1.
근데 이 강의 처럼(RetryAspect.class, TraceAspect.class) 클래스로 나눠서 @Aspect를 따로 설정한 경우에 호출순서는 어떻게 되는것인가요?
강의에서는 TraceAspect가 먼저 호출되고 (@Before 포인트컷 어노테이션이 사용된 Aspect) RetryAspect가 (@Around 포인트컷)호출되었습니다.
 
질문2.
RetryAspect가 먼저 호출되고 TraceAspect를 호출하는 방법은 없을까요?
 
질문3.
ExamRepository에서 seq이 5가 되는순간 IllegalStateException이 발생하면서 RetryAspcet.class가 실행되는거 같습니다. 프록시를 적용한 객체는 예외처리가 발생하면 그전 단계인 프록시로 돌아가는것이라고 이해하면 되는게 맞나요? 호출순서가 헷갈리는거 같습니다.
 
항상 강의를 감사한 마음으로 듣고 있습니다.
영한님과 서포터즈분께 감사합니다.
 
 

답변 1

답변을 작성해보세요.

0

안녕하세요. namhkim님^^

스프링 AOP 구현5 - 어드바이스 순서를 다시 복습해주세요.

감사합니다.