aspectj coupe transverse (pointcut) avec l'annotation paramètres
Je suis avec aspectj pour intercepter les méthodes annotées avec @Profile(description="something")
@Retention(RetentionPolicy.RUNTIME)
@Target(ElementType.METHOD)
public @interface Profile {
public String description() default "";
}
@Around("com.merc.aop.ctw.aspect.PointcutDefinitions.logAnnotatedMethods(profile)")
public Object profile(ProceedingJoinPoint pjp, Profile profile) throws Throwable {
....
}
@Pointcut("@annotation(com.merc.annotations.Profile)")
protected void logAnnotatedMethods(Profile profile) {
}
Mais j'obtiens l'erreur suivante msg alors que compileing à l'aide de l'AJC
formal unbound in pointcut
Bonjour, mon exigence est la même que la vôtre. J'ai un doute que ce qui est " com.merc.aop.ctw.d'aspect.PointcutDefinitions.logAnnotatedMethods'. Je remarque que logAnnotatedMethods vous avez créé mais je n'obtiens pas ce qui est com.merc.aop.ctw.d'aspect.PointcutDefinitions ? Merci de me guider.
OriginalL'auteur user373201 | 2011-02-07
Vous devez vous connecter pour publier un commentaire.
Ce n'est pas correct,
@annotation()
veut un nom de paramètre, pas un type de paramètre.Si votre classe est compilée avec le code de débogage, la coupe transverse (pointcut) paramètre doit avoir le même nom que le paramètre de méthode, si non, vous avez besoin de s'appuyer soit sur les types de paramètres étant unique ou explicitement écrire vos noms de paramètre à l'aide de la
argNames
paramètre:Référence:
@coupe transverse (pointcut)
javadocEn fait, les docs de spécifier les deux versions. Vous trouverez ma version de cette section: static.springsource.org/spring/docs/3.0.3.RELEASE/... . Pourtant, j'ai été pas au courant de l'autre version.
Mais alors: c'est un AspectJ question, pas un Printemps de l'AOP question, de sorte que le Printemps docs sont de peu d'intérêt. Mais je l'ai pris dans le Livre AspectJ dans l'Action:
@annotation(TypePattern or ObjectIdentifier)
qui montre encore une fois que nous sommes à la fois le droit, tout comme le Printemps de l'AOPOriginalL'auteur Sean Patrick Floyd
Je jouais autour et a trouvé que la suite travaillé
OriginalL'auteur user373201