AspectJ pointcut para métodos PRIVATE anotados

Eu quero criar um ponto de corte para métodos privados que são anotados com uma anotação específica. No entanto, meu aspecto não é acionado quando a anotação está em um método particular, como abaixo.

@Aspect
public class ServiceValidatorAspect {
    @Pointcut("within(@com.example.ValidatorMethod *)")
    public void methodsAnnotatedWithValidated() {
}

@AfterReturning(
            pointcut = "methodsAnnotatedWithValidated()",
            returning = "result")
    public void throwExceptionIfErrorExists(JoinPoint joinPoint, Object result) {
         ...
}

Service Interface

public interface UserService {

    UserDto createUser(UserDto userDto);
}

Implementação de Serviço

    public class UserServiceImpl implements UserService {

       public UserDto createUser(UserDto userDto) {

             validateUser(userDto);

             userDao.create(userDto);
       }

       @ValidatorMethod
       private validateUser(UserDto userDto) {

            // code here
       }

No entanto, se eu mover a anotação para uma implementação do método de interface públicacreateUsermeu aspecto é acionado. Como devo definir meu pointcut ou configurar meu aspecto para que meu caso de uso original funcione?

questionAnswers(2)

yourAnswerToTheQuestion