Skip to main content

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index] [List Home]
Re: [aspectj-dev] true runtime weaving with Mustang ?

No it 's something different. I think you get confused between jdk
agent and aspectj instrumentation.

In Java 5 ones can have a startup jdk agent, and we use it in AJ 5 to
register our new load time weaving instrumentation (also call
instrumentation agent).
A jdk agent can be done for many different purpose - not
instrumentation in particular.

In java 6 mustang, the API adds the capability to add a jdk agent
after VM startup. The trick is mainly around adding stuff to the
classpath " a posteriori". This does not mean at all any change in the
instrumentation layer ie if you register your instrumentation later at
runtime, you will have missed the weaving (load time weaving) for all
already loaded classes and you will then need hotswap like features -
hence pretty much what we can do in AspectWerkz already.

What you may do is lower the overhead by late registration after
specific point like hypothetical "app server ready, about to deploy
apps" state and so on. But that s specific use case, and that s not at
all runtime instrumentation.

See the work we have done in JRockit AOP for what is much more likely
to be (and actually is already) true runtime weaving.
http://dev2dev.bea.com/pub/a/2005/08/jvm_aop_1.html

Alex




On/8/05, Valerio Schiavoni <ervalerio@xxxxxxxxxx> wrote:
> consider this early draft from mustang (jdk 6.0) javadoc:
> http://download.java.net/jdk6/docs/api/java/lang/instrument/package-summary.html
> 
> we can see that from this version on, it will be possible to provide an
> instrumentation agent even /after/* *the VM has been started.
> 
> it sounds like the jvm support for this kind of weaving will let aspectj
> become even more powerful.... did I get it right ?
> 
> It'd be interesting to see which kind of experiments would be possible
> taking the latest mustang snapshot.
> 
> cheers,
> valerio
> 
> 
> 
> 
> 
> _______________________________________________
> aspectj-dev mailing list
> aspectj-dev@xxxxxxxxxxx
> https://dev.eclipse.org/mailman/listinfo/aspectj-dev
>


Back to the top