Hi,

I tried to clone the repo but it is asking for userid/password.  So then I
tried to recreate the problem myself but in a simple setup I don't see the
error - but then I am using AspectJ 1.7.1 rather than 1.6.11.  If you set
it up so I can clone the repo I will try again.  It sounds like a bug you
have hit but I can't confirm until I can recreate. You could try using code
style rather than annotation style to see if that fixes things, but then
you will have to proceed on the joinpoint in the advice.

cheers,
Andy


On 22 November 2012 15:05, Leon Rosenberg <rosenberg.l...@gmail.com> wrote:

> Hello,
> I have following problem with following Aspect:
>
> @Aspect
> public class CounterAspect extends AbstractMoskitoAspect {
>
> @Around(value = "execution(* *(..)) && (@annotation(method))")
>     public Object countMethod(ProceedingJoinPoint pjp, Count method)
> throws Throwable {
>     return count(pjp, method.producerId(), method.subsystem(),
> method.category());
>     }
>
> @Around(value = "execution(* *(..)) && (@annotation(method))")
> public Object countByParameter(ProceedingJoinPoint pjp, CountByParameter
> method) throws Throwable {
>  return countByParameter(pjp, method.producerId(), method.subsystem(),
> method.category());
> }
>
>  @Around(value = "execution(* *.*(..)) && (@within(clazz))")
>     public Object countClass(ProceedingJoinPoint pjp, Count clazz) throws
> Throwable {
>     return count(pjp, clazz.producerId(), clazz.subsystem(),
> clazz.category());
>     }
>
> private Object countByParameter(ProceedingJoinPoint pjp, String
> aProducerId, String aSubsystem, String aCategory) throws Throwable {
> ....
>
> It works. However, since I have two similar aspects that differ only in
> using some internal classes, I made my super class using generics:
> public class AbstractMoskitoAspect<S extends IStats> {
>
> @Aspect
> public class CounterAspect extends AbstractMoskitoAspect<CounterStats> {
>
> this breaks the build instantly with the very unhelpful error message:
> [ERROR] Failed to execute goal
> org.codehaus.mojo:aspectj-maven-plugin:1.4:compile (default) on project
> moskito-aop: Compiler errors:
> [ERROR] error at @Around(value = "execution(* *(..)) &&
> (@annotation(method))")
> [ERROR] ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
> [ERROR]
> /Users/another/projects/moskito/moskito-aop/java/net/anotheria/moskito/aop/aspect/CounterAspect.java:24:0::0
> the parameter pjp is not bound in [all branches of] pointcut
> [ERROR] error at @Around(value = "execution(* *(..)) &&
> (@annotation(method))")
> [ERROR] ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
> [ERROR]
> /Users/another/projects/moskito/moskito-aop/java/net/anotheria/moskito/aop/aspect/CounterAspect.java:29:0::0
> the parameter pjp is not bound in [all branches of] pointcut
> [ERROR] error at @Around(value = "execution(* *.*(..)) &&
> (@within(clazz))")
> [ERROR] ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
> [ERROR]
> /Users/another/projects/moskito/moskito-aop/java/net/anotheria/moskito/aop/aspect/CounterAspect.java:34:0::0
> the parameter pjp is not bound in [all branches of] pointcut
>
> what am i doing wrong here?
>
>
> aspectj 1.6.11, mvn 3, mvn aspectj plugin 1.4
> how to reproduce:
> checkout http://svn.anotheria.net/opensource/moskito/trunk/
> edit net.anotheria.moskito.aop.aspect.CounterAspect, change
> public class CounterAspect extends AbstractMoskitoAspect {
> to
> public class CounterAspect extends AbstractMoskitoAspect<CounterStats> {
>
> run mvn clean install
>
> thanks for your time
> Leon
>
>
>
>
>
>
>
>
>
>
>
> _______________________________________________
> aspectj-users mailing list
> aspectj-users@eclipse.org
> https://dev.eclipse.org/mailman/listinfo/aspectj-users
>
>
_______________________________________________
aspectj-users mailing list
aspectj-users@eclipse.org
https://dev.eclipse.org/mailman/listinfo/aspectj-users

Reply via email to