Skip to main content

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index] [List Home]
Re: [aspectj-users] Interesting Problem & Reweavable




As Ramnivas noted, we have that bug report 91417 to track making
reweavable the default by 1.5.0M4 - we just need a better way to
store the extra info in the classfile so it isn't so bloated.

Andy.
--
Andy Clement
AspectJ Dev



                                                                           
             Ramnivas Laddad                                               
             <ramnivas@aspecti                                             
             vity.com>                                                  To 
             Sent by:                  ndlesiecki@xxxxxxxxx,               
             aspectj-users-bou         aspectj-users@xxxxxxxxxxx           
             nces@xxxxxxxxxxx                                           cc 
                                                                           
                                                                   Subject 
             27/04/2005 19:30          Re: [aspectj-users] Interesting     
                                       Problem & Reweavable                
                                                                           
             Please respond to                                             
             aspectj-users@ecl                                             
                 ipse.org                                                  
                                                                           
                                                                           




I second Ron and Nick.

Seems like there is already a bug to fix this issue:
https://bugs.eclipse.org/bugs/show_bug.cgi?id=91417

For an additional use case, see:
https://bugs.eclipse.org/bugs/show_bug.cgi?id=36430

-Ramnivas

Lesiecki Nicholas wrote:
      I agree that reweavable should be the default to enable precisely the
      situation Ron describes.

      Cheers,
      Nick
      --- Ron Bodkin <rbodkin@xxxxxxxxxxxxxx> wrote:

            Hi All,

            I've been working on applying the AspectJ 5 load-time weaving
            support
            from
            the branch that Alex and Jonas have been working on, to let me
            weave some
            monitoring code into an app server at load time. The code is
            still fairly
            new, but I was able to get it working for my environment, which
            was great
            (already much better than trying to weave into a wad of 3rd
            party jars at
            build time!). Great work guys! I plan to blog about this and to
            submit a
            few
            small suggestions to bugzilla and aspectj-dev.

            However, I ran into the following output when I was weaving
            into the
            MySQL
            JDBC driver's debug version:

            error at com\mysql\jdbc\NonRegisteringDriver.java::0 class
            'com.mysql.jdbc.NonRegisteringDriver' is already woven and has
            not been
            built with -Xreweavable

            That's right. This error means that the code was already woven
            with
            AspectJ!
            The MYSQL debug JDBC driver includes a tracing aspect: it's
            great to see
            this kind of increased use & popularity of AspectJ. For the
            curious, you
            can
            see the source code for this aspect in the source distribution
            of the
            Mysql
            Connector/J. In this case, the normal, non-debug, library
            doesn't use
            AspectJ so it's not a major problem.(*)

            Unfortunately, because the default today is to not emit
            reweavable
            bytecode,
            it makes it challenging to weave into libraries like this. I
            think the
            increasing amount of AspectJ use in libraries makes it's more
            important
            than
            ever to make -Xreweavable the default option (or the compressed
            version).
            Indeed, under what circumstances would we not want code to be
            reweavable?
            Is
            the performance that much better? It seems to me that maybe
            reweavable
            should just always be the case.

            Failing that, I would like to see an option to weave into
            previously
            non-reweavable woven code at a bytecode-level, which would just
            treat the
            woven result like one would treat any Java bytecode (i.e., it
            wouldn't
            recognize adviceexecution, nor understand ITD's, etc., it would
            operate
            on
            the "machine-level" translation into Java bytecode).

            Ron

            Ron Bodkin
            Chief Technology Officer
            New Aspects of Software
            w: (415) 824-4690

            (*) Amusingly, I only discovered this because I had an error in
            the first
            zip distribution I downloaded so I could only extract the debug
            jar file.



            _______________________________________________
            aspectj-users mailing list
            aspectj-users@xxxxxxxxxxx
            https://dev.eclipse.org/mailman/listinfo/aspectj-users


      _______________________________________________
      aspectj-users mailing list
      aspectj-users@xxxxxxxxxxx
      https://dev.eclipse.org/mailman/listinfo/aspectj-users

        _______________________________________________
      aspectj-users mailing list
      aspectj-users@xxxxxxxxxxx
      https://dev.eclipse.org/mailman/listinfo/aspectj-users




Back to the top