It is possible your second piece of advice there "call(*.new(..))" may be matching the call to create the aspect instance - and that could lead to a NoAspectBoundException. To investigate constructors I'd maybe use execution.
after(): execution(*.new(..)) && !within(TheAspectType) { System.out.println("*2* ctor: " + thisJoinPointStaticPart.getSignature()); } That should tell you which ctors are running. I can't immediately see what is wrong with your initial piece of advice though. Andy On 25 March 2011 11:33, Grey, Lee <lee.g...@ncr.com> wrote: > Andy, > > I took your advice (#2) below, and it's been working great in development for > a month. However, it turns out that there's something different in > production (not sure what) that's preventing my harmless weaving from > triggering, so my aspect is never instantiated. > > So, I'm trying to add something to the aspect to dump out all constructors, > so I can choose something else as my eager-weaving trigger. But, so far, I > either get no output, or I get org.aspectj.lang.NoAspectBoundException. > > I don't know what class I want to trigger on, but I am 99% certain it's in a > package somewhere beneath com.sonicsw.*. Can you see what's wrong with this? > > pointcut init(Object o): > this(o) && > within(com.sonicsw..*) && > initialization(*.new()); > > after(Object o) returning: init(o) { > System.out.println("*1* ctor: " + > thisJoinPointStaticPart.getSignature()); > } > > after() returning(Object o): call(*.new(..)) { > System.out.println("*2* ctor: " + > thisJoinPointStaticPart.getSignature()); > } > > Thanks, > Lee > > > -----Original Message----- > From: aspectj-users-boun...@eclipse.org > [mailto:aspectj-users-boun...@eclipse.org] On Behalf Of Andy Clement > Sent: Tuesday, February 22, 2011 12:22 PM > To: aspectj-users@eclipse.org > Subject: Re: [aspectj-users] Lazy weaving vs eager weaving? > > Hi, > > There is no direct control for this. You kind of have two options: > > (1) touch the aspect yourself much earlier, to cause it to be loaded up. > Just refer to something in it from one of your earlier loaded classes that > will cause it to be loaded. > (2) Use it to 'harmlessly' weave something that is loaded much earlier, which > kind of causes (1) to happen. > > cheers > Andy > > On 22 February 2011 08:57, Grey, Lee <lee.g...@ncr.com> wrote: >> Is there any way to control when an aspect gets loaded and initialized? >> >> Thanks, >> Lee >> ________________________________ >> From: aspectj-users-boun...@eclipse.org >> [mailto:aspectj-users-boun...@eclipse.org] On Behalf Of Grey, Lee >> Sent: Monday, February 21, 2011 12:58 PM >> To: aspectj-users@eclipse.org >> Subject: [aspectj-users] Lazy weaving vs eager weaving? >> >> I'm still working on the weaving of Sonic ESB container services, and >> it's working perfectly with one exception. >> >> I'm instantiating a thread object in a static block of my aspect. >> Unfortunately, the static block doesn't execute until the first time a >> message is received, even though the container JVM had started long ago. >> Aside from the fact that the thread doesn't start when it should, >> there is also a very long hit for all the class loading and weaving on >> receipt of that first message. >> >> Is there any way to have the weaving occur immediately, which I'm >> assuming would be the way to have the static block execute prior to >> receiving a message? >> >> Thanks, >> Lee Grey >> >> _______________________________________________ >> 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 > _______________________________________________ > 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