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?
thanks,
Mike
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.
Alex
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
>