Thank you for your help, I tried this, but there is not even trace of the weaving of BigDecimal. It is a real mystery for me, so I give all the code :
Here is my aop.xml : <!DOCTYPE aspectj PUBLIC "-//AspectJ//DTD 1.5.0//EN" "http://www.eclipse.org/aspectj/dtd/aspectj_1_5_0.dtd"> <aspectj> <weaver options="-Xset:weaveJavaPackages=true -proceedOnError -Xlintfile:META-INF/Xlint.properties -showWeaveInfo -verbose -debug"> <exclude within="org.apache.commons.logging..*"/> <include within="test.aop.beans..*"/> <include within="java..*"/> </weaver> <aspects> <aspect name="test.aop.AppAspect"/> </aspects> </aspectj> Here is my Aspect : @Aspect public class AppAspect { @After("execution(* java.math.BigDecimal.valueOf(..))") public void afterBigDecimal(JoinPoint jp) { System.out.println("grouik BigDecimal"); } @After("execution(* test.aop.beans.*.copyFrom(..))") public void afterBeans(JoinPoint jp) { System.out.println("grouik beans"); } } Here is my test : @Test public void getAndSetOnArrayList() throws Exception { System.out.println("-------- mytest ----------"); client01.copyFrom(); BigDecimal bd = BigDecimal.valueOf(0); bd = new BigDecimal(5); } Here is the resulting log (I cutted the middle) : [EMAIL PROTECTED] info AspectJ Weaver Version DEVELOPMENT built on Thursday Feb 28, 2008 at 22:30:47 GMT [EMAIL PROTECTED] info register classloader [EMAIL PROTECTED] [EMAIL PROTECTED] info using configuration /D:/perso/arbo%20mes%20documents/informatique/developpement/tests/AOP/07/target/test-classes/META-INF/aop.xml [EMAIL PROTECTED] warning Cannot access resource for -Xlintfile:META-INF/Xlint.properties [EMAIL PROTECTED] info register aspect test.aop.AppAspect [EMAIL PROTECTED] debug not weaving 'org.eclipse.jdt.internal.junit.runner.RemoteTestRunner' [EMAIL PROTECTED] debug not weaving 'org.eclipse.jdt.internal.junit.runner.MessageSender' .............. [EMAIL PROTECTED] debug cannot weave 'org.aspectj.runtime.reflect.AdviceSignatureImpl' [EMAIL PROTECTED] debug cannot weave 'org.aspectj.lang.reflect.AdviceSignature' -------- mytest ---------- grouik beans [EMAIL PROTECTED] debug cannot weave 'org.aspectj.runtime.reflect.CatchClauseSignatureImpl' [EMAIL PROTECTED] debug cannot weave 'org.aspectj.lang.reflect.CatchClauseSignature' [EMAIL PROTECTED] debug cannot weave 'org.aspectj.runtime.reflect.FieldSignatureImpl' [EMAIL PROTECTED] debug cannot weave 'org.aspectj.lang.reflect.FieldSignature' [EMAIL PROTECTED] debug cannot weave 'org.aspectj.runtime.reflect.InitializerSignatureImpl' [EMAIL PROTECTED] debug cannot weave 'org.aspectj.lang.reflect.InitializerSignature' [EMAIL PROTECTED] debug cannot weave 'org.aspectj.runtime.reflect.SignatureImpl$Cache' [EMAIL PROTECTED] debug cannot weave 'org.aspectj.runtime.reflect.JoinPointImpl$StaticPartImpl' [EMAIL PROTECTED] debug cannot weave 'org.aspectj.runtime.reflect.SourceLocationImpl' [EMAIL PROTECTED] debug not weaving 'org.springframework.util.NumberUtils' [EMAIL PROTECTED] debug not weaving 'org.springframework.core.NestedExceptionUtils' [EMAIL PROTECTED] debug not weaving 'org.junit.internal.runners.TestMethodRunner' [EMAIL PROTECTED] debug not weaving 'org.junit.Ignore' [EMAIL PROTECTED] debug not weaving 'org.junit.runner.notification.RunNotifier$3' [EMAIL PROTECTED] debug not weaving 'org.junit.runner.notification.RunNotifier$SafeNotifier' [EMAIL PROTECTED] debug cannot weave 'org.aspectj.runtime.reflect.JoinPointImpl' [EMAIL PROTECTED] debug weaving 'test.aop.AppAspect' [EMAIL PROTECTED] debug cannot weave 'org.aspectj.lang.NoAspectBoundException' [EMAIL PROTECTED] debug not weaving 'org.junit.runner.notification.RunNotifier$6' <[EMAIL PROTECTED]> Envoyé par : [EMAIL PROTECTED] 03/03/2008 10:43 Veuillez répondre à aspectj-users Pour : <[email protected]> cc : (ccc : Laurent Delaforge/ODDO) Objet : RE: Réf. : Re: Re :[aspectj-users] aspect on a java API class Hi Try: <weaver options="-proceedOnError -Xlintfile:META-INF/Xlint.properties -showWeaveInfo -verbose -debug"> in you aop.xml file. The check the log files to see if you class is wowen. ALso remember to include java.math.** in you includes section of aop.xml Hermod -----Original Message----- From: [EMAIL PROTECTED] [mailto:[EMAIL PROTECTED] On Behalf Of [EMAIL PROTECTED] Sent: Monday, March 03, 2008 10:28 AM To: [email protected] Cc: [EMAIL PROTECTED] Subject: Réf. : Re: Re :[aspectj-users] aspect on a java API class I downloaded the "Last Known Good developer build" : aspectj-DEVELOPMENT-20080228164011.jar Because I'm using LTW, I didn't installed it : I only took the aspectjweaver.jar, uploaded it in my maven repo, and changed the version in my pom.xml (1.5.4 to DEVELOPMENT-20080228164011). In my aop.xml, I changed <weaver>...</weaver> by <weaver options="-Xset:weaveJavaPackages=true">...</weaver> But when I execute my code, the advise is still not executed... Did I miss something ? "Andy Clement" <[EMAIL PROTECTED]> Envoyé par : [EMAIL PROTECTED] 29/02/2008 20:41 Veuillez répondre à aspectj-users Pour : [email protected] cc : (ccc : Laurent Delaforge/ODDO) Objet : Re: Re :[aspectj-users] aspect on a java API class Weaving of java. and javax. types has been discussed on the list recently. You need an up to date AspectJ and you need to use a weaver option to force it to weave those types in addition to normal configuration info. The Javax one is shown below, the weaveJavaPackages=true option is what you need. Andy. > I think you are possibly being affected by the code we have that > prevents LTW of anything beginning java.* or javax.* :) See this > bugzilla entry from a while back > https://bugs.eclipse.org/bugs/show_bug.cgi?id=149261 : "Allow weaving > javax..* types" > > In which case, you need to download a recent dev build of AspectJ from > the downloads page and use the option: > > <weaver options="-Xset:weaveJavaxPackages=true"/> > > Andy. On 29 Feb 2008 19:12:55 -0000, Kunal Pathak <[EMAIL PROTECTED]> wrote: > Hi Laurent , > > I tried a "without annotation" approach for load time weaving and i could > execute an advice code for the joinpoint you mentioned. Can you please try > out using simple aj command or you want to use the annotation? I mean I > don't think it's the problem due to annotation, but still want to know. > > Thanks, > Kunal. > > On Fri, 29 Feb 2008 17:59:18 +0100 [email protected] wrote > > > Hi all, > > > > I am (still) trying to put a joinpoint on a java API class : > java.math.BigDecimal > > I try to do it with load time weaving LTW (with a JavaAgent) > > > > My aspect is like this : > > @Aspect > > public class AppAspect { > > @After("execution(* java.math.BigDecimal.valueOf(..))") > > public void afterBigDecimal(JoinPoint jp) { > > System.out.println("grouik BigDecimal"); > > } > > } > > > > And, because I know it is normally not authorized to do it, > > I bypass the loading of the BigDecimal of the rt.jar, by bootloading an > extracted java.math.BigDecimal. > > I do it by adding in the JVM parameters -Xbootclasspath/p:"D:... arget > est-classes emp" > > where ... emp contains javamathBigDecimal.class > > > > > But when I execute this, the advise is not executed... > > > > Is the bypass a good solution ? If yes, why does it not working ? If no, is > there another way ? > > > > Thanks in advance. > > > > Laurent Delaforge > > > > Attention: > L'integrite de ce message n'etant pas assuree sur Internet, les societes du > groupe ODDO ne peuvent etre tenues responsables de son contenu. Ce message > et les eventuels fichiers attaches contiennent des informations > confidentielles. Au cas ou il ne vous serait pas destine, nous vous > remercions de bien vouloir le supprimer et en aviser l'expediteur. > This message and the files that may be attached to it contain confidential > information. The ODDO group may not be held responsible for their contents, > whose accuracy and completeness cannot be guaranteed over the internet. If > the message is not addressed to you, kindly delete it and notify the sender. > > > > _______________________________________________ > aspectj-users mailing list > [email protected] > https://dev.eclipse.org/mailman/listinfo/aspectj-users > > _______________________________________________ aspectj-users mailing list [email protected] https://dev.eclipse.org/mailman/listinfo/aspectj-users Attention: L'integrite de ce message n'etant pas assuree sur Internet, les societes du groupe ODDO ne peuvent etre tenues responsables de son contenu. Ce message et les eventuels fichiers attaches contiennent des informations confidentielles. Au cas ou il ne vous serait pas destine, nous vous remercions de bien vouloir le supprimer et en aviser l'expediteur. This message and the files that may be attached to it contain confidential information. The ODDO group may not be held responsible for their contents, whose accuracy and completeness cannot be guaranteed over the internet. If the message is not addressed to you, kindly delete it and notify the sender. * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * This email with attachments is solely for the use of the individual or entity to whom it is addressed. Please also be aware that the DnB NOR Group cannot accept any payment orders or other legally binding correspondence with customers as a part of an email. This email message has been virus checked by the anti virus programs used in the DnB NOR Group. * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * _______________________________________________ aspectj-users mailing list [email protected] https://dev.eclipse.org/mailman/listinfo/aspectj-users
_______________________________________________ aspectj-users mailing list [email protected] https://dev.eclipse.org/mailman/listinfo/aspectj-users
