AOP : java.lang.IllegalArgumentException: erreur ::0 ne trouvez pas référencé coupe transverse (pointcut)

Je suis nouveau à l'AOP. J'ai eu un problème de ce genre.

package org.suman.Aspect;

import org.aspectj.lang.annotation.Aspect;
import org.aspectj.lang.annotation.Before;
import org.aspectj.lang.annotation.Pointcut;

@Aspect
public class LoginAspect {
    //@Before("execution(public String getName())")
    //@Before("execution(public String org.suman.Model.Triangle.getName())")
    //@Before("execution(* get*())")
    //@Before("execution(* get*(..))")
    //@Before("execution(* org.suman.Model.*.get*())")

    //@Before("execution(* get*())&& within(org.suman.Model.Circle)")
    @Before("execution(* get*())&& allCircle()")
    //@Before("allGetters() && allCircle()")
    public void LoginAdvice()
    {
        System.out.println("Advice run.. getMethod is called");
    }

    @Before("execution(* get*())")
    //@Before("allGetters()")
    public void SecondAdvice()
    {
        System.out.println("this is a second Advice");
    }
    @Pointcut("execution(* get*())")
    public void allGetters(){}

    //@Pointcut("execution (* * org.suman.Model.Circle.*(..))")
    @Pointcut("within(org.suman.Model.Circle)")
    public void allCircle(){}

} 

lors de l'utilisation de coupe transverse (pointcut), la méthode allGetters() pour LoginAdvice méthode, si j'utilise @Avant("exécution(* get*())") alors pas d'erreur, mais si j'utilise @Avant("allGetters()") puis donne le message d'erreur " java.lang.IllegalArgumentException: erreur ::0 ne trouvez pas référencé coupe transverse (pointcut) allGetters

si j'utilise @Avant("exécution(* get*())&& à l'intérieur(org.suman.De modèle.Cercle)") au lieu du nom de la méthode, il fonctionne.

Mon xml comme ceci:

<?xml version="1.0" encoding="UTF-8" ?>
<beans xmlns="http://www.springframework.org/schema/beans"
    xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:aop="http://www.springframework.org/schema/aop"
    xmlns:context="http://www.springframework.org/schema/context"
    xsi:schemaLocation="http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans-2.0.xsd http://www.springframework.org/schema/aop http://www.springframework.org/schema/aop/spring-aop-2.0.xsd http://www.springframework.org/schema/context http://www.springframework.org/schema/context/spring-context-2.5.xsd">
    <!-- <context:annotation-config /> -->
    <aop:aspectj-autoproxy />

    <bean name="triangle" class="org.suman.Model.Triangle">
        <property name="name" value="Triangle Name"></property>
    </bean>
    <bean name="circle" class="org.suman.Model.Circle">
        <property name="name" value="Circle name"></property>
    </bean>
    <bean name="shapeService" class="org.suman.Services.ShapeService"
        autowire="byName"></bean>
    <bean name="loginAspect" class="org.suman.Aspect.LoginAspect"></bean>

</beans>

Merci de résoudre le problème avec coupe transverse (pointcut) par lequel il prend la méthode

Pour ceux qui sont venus à ce fil, et aucune des solutions proposées sur cette page, essayez de prendre un coup d'oeil ici: stackoverflow.com/questions/21279716/...

OriginalL'auteur user1379705 | 2012-05-07