[jboss-user] [JBoss AOP] - Re: Unable to resolve pointcut reference: aop.SimpleIntercep

avihaimar do-not-reply at jboss.com
Mon May 28 14:05:24 EDT 2007


Thank you for your quick answer.
the SimpleInterceptor class is exactly the same one as the injboss-annotation example, excpet the fact that i change his package name to aop,

the intercepted class is the same as the example except the fact that i change his package name to aop.

again thank you


package aop;
  | 
  | import org.jboss.aop.joinpoint.ConstructorInvocation;
  | import org.jboss.aop.joinpoint.FieldReadInvocation;
  | import org.jboss.aop.joinpoint.FieldWriteInvocation;
  | import org.jboss.aop.joinpoint.Invocation;
  | import org.jboss.aop.joinpoint.MethodInvocation;
  | import org.jboss.aop.advice.Interceptor;
  | import org.jboss.aop.PointcutDef;
  | import org.jboss.aop.TypeDef;
  | import org.jboss.aop.Bind;
  | import org.jboss.aop.InterceptorDef;
  | import org.jboss.aop.pointcut.Pointcut;
  | import org.jboss.aop.pointcut.Typedef;
  | 
  | /**
  |  *
  |  * @author <a href="mailto:bill at jboss.org">Bill Burke</a>
  |  * @version $Revision: 37406 $
  |  */
  | @InterceptorDef
  | @Bind (pointcut="aop.SimpleInterceptor.valueConstructors OR aop.SimpleInterceptor.valueMessage OR aop.SimpleInterceptor.service OR aop.SimpleInterceptor.sessionValue OR aop.SimpleInterceptor.mbeans")
  | public class SimpleInterceptor implements Interceptor
  | {
  |    @PointcutDef ("execution(aop.ExampleValue->new(..))")
  |    public static Pointcut valueConstructors;
  | 
  |    @PointcutDef ("execution(* aop.ExampleValue->getMessage())")
  |    public static Pointcut valueMessage;
  | 
  | //   @PointcutDef ("execution(* aop.ExampleValue->getBla())")
  | //   public static Pointcut valueBla;
  | 
  |    @TypeDef ("class($instanceof{javax.servlet.http.HttpServlet}) AND class(org.jboss.injbossaop.web.*)")
  |    public static Typedef servlets;
  | 
  |    @PointcutDef ("execution(* $typedef{aop.SimpleInterceptor.servlets}->service(..))")
  |    public static Pointcut service;
  | 
  |    @TypeDef ("class($instanceof{javax.ejb.SessionBean}) AND class(org.jboss.injbossaop.ejb.*)")
  |    public static Typedef sessionBeans;
  | 
  |    @PointcutDef ("execution(* $typedef{aop.SimpleInterceptor.sessionBeans}->getValue(..))")
  |    public static Pointcut sessionValue;
  | 
  |    @PointcutDef ("all(org.jboss.injbossaop.mbean.*)")
  |    public static Pointcut mbeans;
  | 
  |    public String getName() { return "SimpleInterceptor"; }
  | 
  |    public Object invoke(Invocation invocation) throws Throwable
  |    {
  |       try
  |       {
  |          System.out.println("<<< Entering SimpleInterceptor: " + invocationInfo(invocation));
  |          return invocation.invokeNext();
  |       }
  |       finally
  |       {
  |          System.out.println(">>> Leaving SimpleInterceptor");
  |       }
  |    }
  | 
  |    private String invocationInfo(Invocation invocation)
  |    {
  |       StringBuffer info = new StringBuffer("\n\tinvocation class: " + invocation.getClass().getName());
  | 
  |       if (invocation instanceof MethodInvocation)
  |       {
  |          MethodInvocation mi = (MethodInvocation)invocation;
  |          info.append("\n\ttype: Method Invocation");
  |          info.append("\n\tmethod: " + mi.getMethod().getName());
  |          info.append("\n\tClass containing method: " + mi.getTargetObject().getClass().getName());
  |       }
  |       else if (invocation instanceof ConstructorInvocation)
  |       {
  |          ConstructorInvocation ci = (ConstructorInvocation)invocation;
  |          info.append("\n\ttype: Constructor Invocation");
  |          info.append("\n\tconstructor: " + ci.getConstructor());
  |       }
  |       else if (invocation instanceof FieldWriteInvocation)
  |       {
  |          FieldWriteInvocation fi = (FieldWriteInvocation)invocation;
  |          info.append("\n\ttype: Field Write Invocation");
  |          info.append("\n\tfield: " + fi.getField());
  | 
  |       }
  |       else if (invocation instanceof FieldReadInvocation)
  |       {
  |          FieldReadInvocation fi = (FieldReadInvocation)invocation;
  |          info.append("\n\ttype: Field Write Invocation");
  |          info.append("\n\tfield: " + fi.getField());
  |       }
  | 
  |       return info.toString();
  |    }
  | }


/*
  | * JBoss, Home of Professional Open Source
  | * Copyright 2005, JBoss Inc., and individual contributors as indicated
  | * by the @authors tag. See the copyright.txt in the distribution for a
  | * full listing of individual contributors.
  | *
  | * This is free software; you can redistribute it and/or modify it
  | * under the terms of the GNU Lesser General Public License as
  | * published by the Free Software Foundation; either version 2.1 of
  | * the License, or (at your option) any later version.
  | *
  | * This software is distributed in the hope that it will be useful,
  | * but WITHOUT ANY WARRANTY; without even the implied warranty of
  | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
  | * Lesser General Public License for more details.
  | *
  | * You should have received a copy of the GNU Lesser General Public
  | * License along with this software; if not, write to the Free
  | * Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA
  | * 02110-1301 USA, or see the FSF site: http://www.fsf.org.
  | */
  | package aop;
  | 
  | import java.io.Serializable;
  | 
  | /**
  |  *
  |  * @author <a href="mailto:kabirkhan at bigfoot.com">Kabir Khan</a>
  |  *
  |  */
  | public class ExampleValue implements Serializable{
  |    String message = "";
  | 
  |    public ExampleValue()
  |    {
  |    }
  | 
  |    public ExampleValue(String msg)
  |    {
  |       message = msg;
  |    }
  | 
  |    public String getMessage()
  |    {
  |       return message;
  |    }
  | 
  |    public String getBla()
  |    {
  |       return message;
  |    }
  | }

View the original post : http://www.jboss.com/index.html?module=bb&op=viewtopic&p=4049107#4049107

Reply to the post : http://www.jboss.com/index.html?module=bb&op=posting&mode=reply&p=4049107



More information about the jboss-user mailing list