Я начал с исходного вопроса по Нужна помощь в создании определенного pointcut, который использует значение из аннотации метода
Я решил, что хочу задать другой вопрос, чтобы изменить подход, которым я былс.У меня есть метод ( navigation ), который вызывает внутри этого метода вызов другого метода, который я хотел бы получить @Around advice.
@RequestMapping(method = RequestMethod.GET)
public String navigation(ModelMap model) {
...
// Call Auto Handling
logger.info("Call AutoHandling");
this.processAutoHandling(callSession, FunctionalArea.PRE_MAIN_MENU);
}
...
return forward(returnView);
}
Возможно ли это, поскольку я не могупохоже, что это работает, если метод находится внутри того же класса.
Эта работа, если он не был на самом объекте:
@Around("execution(* *.processAutoHandling(..)) &&" +
"args(callSession, functionalArea) && " +
"args(functionalArea) && " +
"target(bean)"
)
public Object processAutoHandlingCall2(ProceedingJoinPoint jp,
CallSession callSession,
FunctionalArea functionalArea,
Object bean)
throws Throwable {
logger.debug("processAutoHandleCall");
return jp.proceed();
}
С этим вызовом в моем контроллере:
autoHandlingComponent.processAutoHandling(callSession, FunctionalArea.PRE_MAIN_MENU);
вместо
this.processAutoHandling(callSession, FunctionalArea.PRE_MAIN_MENU);