Skip to main content

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

The supported way for LTW under Java 1.3 and 1.4 is to extend AspectJ 
1.2's WeavingURLClassLoader, if you can use your own classloader.
If you need to weave classes that don't exist at VM launch time,
you can put them in a directory on the classpath rather than
into a jar specified on the classpath.  

I realize these requirements are not feasible for many developers
and that the AspectJ 5 support for LTW is much better than the
WeavingURLClassLoader, but it wasn't clear from Mike's original 
request whether he'd be one of those developers or needed the
additional features.

Wes

------------Original Message------------
From: "Ron Bodkin" <rbodkin@xxxxxxxxxxxxxx>
To: "'AspectJ developer discussions'" <aspectj-dev@xxxxxxxxxxx>
Date: Thu, Jul-28-2005 10:09 AM
Subject: 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?

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@xxxxxx> 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
> 
 
-- 


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



Back to the top