[jboss-user] [JBoss AOP] - Re: Wrong type of advice when using @Bind annotation

andrewwot do-not-reply at jboss.com
Tue Jan 25 16:43:28 EST 2011


andrewwot [http://community.jboss.org/people/andrewwot] created the discussion

"Re: Wrong type of advice when using @Bind annotation"

To view the discussion, visit: http://community.jboss.org/message/583164#583164

--------------------------------------------------------------
We are experiencing the same issue with before/after lightweight advices inside container, JBoss AS 5.1.0, with both xml and annotation configuration

AOP version  2.1.6.GA_CP01

Xml Configuration
<?xml version="1.0" encoding="UTF-8"?>
<aop xmlns="urn:jboss:aop-beans:1.0">
    <aspect class="com.intuit.cg.services.ds.aop.DocTypeResourceAspect"
        scope="PER_VM" />
    <bind
        pointcut="execution(* com.intuit.cg.services.ds.docstore.service.resource.DocTypeResourceImpl->*(..))">
        <before name="beforeAdvice" aspect="com.intuit.cg.services.ds.aop.DocTypeResourceAspect" />
   </bind>
</aop>

Aspect class
public class DocTypeResourceAspect  {




   @Override
    public void beforeAdvice(@JoinPoint JoinPointBean joinPointBean) 
    {

        super.beforeAdvice(joinPointBean);
        getLogger().info("beforeInvoke:" + joinPointBean);
    }

}

Exception we are getting:
org.jboss.aop.advice.NoMatchingAdviceException: No matching around advice called 'beforeAdvice' could be found in com.intuit.cg.services.ds.aop.DocTypeResourceAspect for joinpoint Method[method=public javax.ws.rs.core.Response com.intuit.cg.services.ds.docstore.service.resource.DocTypeResourceImpl.getDocTypes()]
  On method 'public void com.intuit.cg.services.ds.aop.DocTypeResourceAspect.beforeAdvice(org.jboss.aop.joinpoint.JoinPointBean)'
    @JoinPoint-annotated parameter is not assignable from expected type class org.jboss.aop.joinpoint.MethodInvocation
    at org.jboss.aop.advice.annotation.AdviceMethodFactory.findAdviceMethod(AdviceMethodFactory.java:295)
    at org.jboss.aop.instrument.JoinPointGenerator$AdviceSetups.<init>(JoinPointGenerator.java:1612)
    at org.jboss.aop.instrument.JoinPointGenerator.initialiseAdviceInfosAndAddFields(JoinPointGenerator.java:537)
    at org.jboss.aop.instrument.JoinPointGenerator.generateJoinpointClass(JoinPointGenerator.java:367)
    at org.jboss.aop.instrument.JoinPointGenerator.doGenerateJoinPointClass(JoinPointGenerator.java:285)
    at org.jboss.aop.instrument.JoinPointGenerator.access$300(JoinPointGenerator.java:77)
    at org.jboss.aop.instrument.JoinPointGenerator$GenerateJoinPointClassAction$2.generateJoinPointClass(JoinPointGenerator.java:1730)
    at org.jboss.aop.instrument.JoinPointGenerator.generateJoinPointClass(JoinPointGenerator.java:250)
    at org.jboss.aop.GeneratedClassAdvisor.generateJoinPointClass(GeneratedClassAdvisor.java:1047)
    at com.intuit.cg.services.ds.docstore.service.resource.DocTypeResourceImpl$DocTypeResourceImplAdvisor.getDocTypes_N_5161450178620338716(DocTypeResourceImpl$DocTypeResourceImplAdvisor.java)

Classical around advices and interceptor work just fine, we even tried to modify aop.xml to explicitly use 
<property name="instrumentor">org.jboss.aop.instrument.GeneratedAdvisorInstrumentor</property>
even that it's supposed to be default instrumentor, but it didn't help.

What version of container supports lightweight advices?
--------------------------------------------------------------

Reply to this message by going to Community
[http://community.jboss.org/message/583164#583164]

Start a new discussion in JBoss AOP at Community
[http://community.jboss.org/choose-container!input.jspa?contentType=1&containerType=14&container=2027]

-------------- next part --------------
An HTML attachment was scrubbed...
URL: http://lists.jboss.org/pipermail/jboss-user/attachments/20110125/6fb7bcab/attachment.html 


More information about the jboss-user mailing list