Spring AOP: comment obtenir les annotations de la méthode conseillée

J'aimerais mettre en œuvre la sécurité déclarative avec le Printemps/AOP et les annotations.
Comme vous le voyez dans l'exemple de code suivant, j'ai Restreint les Annotations avec le paramètre "allowedRoles" pour définir qui est autorisé à exécuter un conseillé de la méthode.

    @Restricted(allowedRoles="jira-administrators")
        public void setPassword(...) throws UserMgmtException {             
               //set password code
               ...
        }

Maintenant, le problème est que mon Avis je n'ai pas accès à la définition des Annotations:

public Object checkPermission(ProceedingJoinPoint pjp) throws Throwable {

    Signature signature = pjp.getSignature();
    System.out.println("Allowed:" + rolesAllowedForJoinPoint(pjp));
            ...
}

private Restricted rolesAllowedForJoinPoint(ProceedingJoinPoint thisJoinPoint)
        {
            MethodSignature methodSignature = (MethodSignature) thisJoinPoint.getSignature();
            Method targetMethod = methodSignature.getMethod();

            return targetMethod.getAnnotation(Restricted.class);
        }

La méthode ci-dessus renvoie toujours null (il n'y a pas d'annotations).
Est-il une solution simple pour cela?

J'ai lu quelque chose sur l'utilisation de l'AspectJ agent, mais je préfère ne pas utiliser cet agent.

OriginalL'auteur hugri | 2010-04-01