[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index] [List Home]
RE: [aspectj-dev] java 1.4 and M3

Hi Mike,


What you are asking for is support for load-time weaving with the Sun Java 1.4 VM (since JRockIt 1.4 is Java 1.4, but the Sun VM is more common). I would also like to have support for 1.3 and 1.4 Sun VM’s. Alex and Jonas have developed this type of support in past with AspectWerkz, so it’s good for them to hear interest from other users. For Sun 1.3 and 1.4 VM’s, I believe there are three ways that this kind of load-time weaving has been achieved in past:


1)       With a script that patches java.lang.ClassLoader to add hooks and puts it in on the bootclasspath

2)       By running in debug mode to hotswap the bootclasspath classloader definition (for Java 1.4)

3)       Take advantage of application server classloader hooks, e.g., ClassPreProcessor for WebLogic 6 and later.


The third strategy is probably the best one if you are looking for load-time weaving of applications inside a container that has an API, but it’s not general purpose. Those considering using the first one should look at their license agreement for Sun’s Java VM carefully. The second option is not one that I think is very practical for production use; I wouldn’t recommend running a VM in debug mode.


Hopefully the experts on this can explain the options in more depth. I’d love to see this kind of support in AspectJ 1.5.0 final or at least shortly afterwards.


From: aspectj-dev-bounces@xxxxxxxxxxx [mailto:aspectj-dev-bounces@xxxxxxxxxxx] On Behalf Of Mike Haladin
Sent: Thursday, July 28, 2005 4:52 AM
To: aspectj-dev@xxxxxxxxxxx
Subject: Re: [aspectj-dev] java 1.4 and M3


Hi Alex,

    Thanks for your reply.  My project does not use JRockit either.  Is there a way to take advantage of some of this functionality in Java 1.4?


Message: 8
Date: Thu, 28 Jul 2005 13:30:49 +0200
From: Alexandre Vasseur <avasseur@xxxxxxxxx>
Subject: Re: [aspectj-dev] java 1.4 and M3
To: AspectJ developer discussions <aspectj-dev@xxxxxxxxxxx>
Message-ID: <9aface8705072804304b00f792@xxxxxxxxxxxxxx>
Content-Type: text/plain; charset=ISO-8859-1

Hi Mike

There is support for that thru a JRockit agent that thus provide this
feature under java 1.3 and 1.4. It will be part of M3 and will appear
in the documentation as well.
This will be something like:
jrockit/java -Xmanagement:class==org.aspectj.weaver.loadtime.JRockitAgent
 -cp ...
(for Java 1.3 you may need to add a xerces or whatever SAX xml engine
as well in the classpath).

As per weaving MBeans, Ron Bodkin has reported some bugs recently
about that but that is also assumed to work.


On 7/28/05, Mike Haladin <mike.haladin@hp.com> wrote:
>  Hello Alex,

>      You mentioned that there would be a JVM option that turns on weaving on
> a JVM wide basis in M3.  This would resolve the problem of having to know
> all jars to be woven at runtime. 

>      You also mentioned that there would be an option that would let me
> weave into MBeans as well.

>      Can you tell me if these options are in M3 and if they are available
> for Java 1.4?

>      If they are not directly available for 1.4, is there a workaround for
> 1.4?

>      My project will not go to java 1.5 until the next release (next year).

>  thanks,
>  Mike

>  --

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