Skip to main content

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index] [List Home]
Re: [aspectj-users] latest incarnation of load-time weaving

I would be interested in knowing
- who is using the "aj" script 
- who is using the WeavingClassLoader
- who is using implementation of concrete integration like
weblogic-aspect (who else has provided an implementation ?)

and in which context: to add weaving capabilities to an existing
environment, or just to try things with an HelloWorld or see if your
development cycles could be improved etc.

This would be a good information to figure how the current users will
use the new load time weaving in AspectJ 5.
I don't think former AspectWerkz user experience will change or will
appear as new in this area but I definitely think current AspectJ user
experience will apear as new.

If we define load time weaving as weaving classes as they gets loaded,
yes it is not new, and it is not even AOPish. If we - as AOP folks -
define it as the way to configure a system and package aspects as
modules (the plural matters here) that can be deployed there in a
consistent way with precisely defined rules, then it will definitely
be new in AspectJ 5.
What is the AOP research community definition of "load time weaving" -
any one knows ?

Alex

On 5/19/05, Wes Isberg <wes@xxxxxxxxxxxxxx> wrote:
> This is to correct the misperception floating around that load-time
> weaving support in AspectJ is new with AspectJ 5.  The usability and
> features are definitely growing, but the core technology has been in
> use for some time.
> 
> In AspectJ 1.1, we changed to bytecode weaving and made the weaver
> independent of the compiler.  At that point, some enterprising programmers
> used the weaver directly in their class-loading implementations to weave
> bytecode as it was loaded.
> 
> In AspectJ 1.2, we provided a default implementation, the
> WeavingClassLoader.
> 
> The Java 1.4 VM's provided a hook for replacing the system class
> loader, so you can deploy from the command line.  This made it
> possible to write a script launcher, bin/aj{.bat}.
> 
> The Java 5 VM's support an API for a bytecode munger directly,
> avoiding the need for a custom class loader altogether.
> 
> AspectJ 5 will allow you to list aspects explicitly and define concrete
> aspects using XML configuration, with usability much like AspectWerkz.
> 
> Altogether, this should make it possible to deploy aspect libraries
> which can be configured by users unfamiliar with AOP or AspectJ, and
> should make it easier to deploy in container-based environments.
> Because users no longer need develop their own class loaders, I
> expect loadtime weaving to be more robust that it is now.  As for
> new issues, I suspect that we'll be mostly sorting out the language
> in aop.xml and working out how to support users who simply configure
> aspects.
> 
> So if you normally would wait a few releases as the bugs are driven
> out of a new technology, consider trying load-time weaving in the
> next milestone release, if what you're trying to do is supported by
> aop.xml.  If it works at all, it should work as well as using
> build-time weaving.
> 
> Wes
> 
> _______________________________________________
> aspectj-users mailing list
> aspectj-users@xxxxxxxxxxx
> https://dev.eclipse.org/mailman/listinfo/aspectj-users
>


Back to the top