[
Date Prev][
Date Next][
Thread Prev][
Thread Next][
Date Index][
Thread Index]
[
List Home]
Re: [aspectj-users] newbie question about after returning
|
Your advice works for me - are you sure you have a method that matches
it? Here is a complete program that works:
====8<==== B.java
package com.mycom.mypack;
import org.aspectj.lang.JoinPoint;
import org.aspectj.lang.annotation.AfterReturning;
import org.aspectj.lang.annotation.Aspect;
import org.aspectj.lang.annotation.Pointcut;
public class B {
public static void main(String[] argv) {
System.out.println(myclass.myMethod());
}
}
@Aspect
class Azpect {
@Pointcut("within(com.mycom.mypack.myclass)")
public void withinMyPackage() {
}
@AfterReturning(pointcut = "execution(public static * myMethod ( .. )) "
+ " && withinMyPackage() ", returning = "myResult")
public void provideAdviseAfterReturning(MyType myResult, JoinPoint jp) {
// do something with returned results
System.out.println("advice handling "+myResult);
}
}
class myclass {
public static MyType myMethod() {
return new MyType();
}
}
class MyType {
}
====8<=====
when I run it:
advice handling com.mycom.mypack.MyType@24a37368
com.mycom.mypack.MyType@24a37368
Andy
On 25 May 2012 08:33, Srinivas S Tamvada <tssrinivas@xxxxxxxxx> wrote:
> Hi
> I have a very simple point cut, but the method return does not seem to be
> intercepted.
> Is the syntax wrong ?
>
> Thanks !
>
> @Pointcut("within(com.mycom.mypack.myclass)")
> public void withinMyPackage() {}
>
> @AfterReturning(pointcut = "execution(public static * myMethod ( .. )) "
> + " && withinMyPackage() " , returning = "myResult"
> )
> public void provideAdviseAfterReturning( MyType myResult , JoinPoint jp
> ) {
>
> // do something with returned results
>
> }
>
>
>
> _______________________________________________
> aspectj-users mailing list
> aspectj-users@xxxxxxxxxxx
> https://dev.eclipse.org/mailman/listinfo/aspectj-users
>