[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index] [List Home]
RE: [aspectj-users] Scoping or Weaving problem (???) with LTWin anEARon a WAR

Matthew,

Are you suggesting trying "static" weaving? Ron Difrango recommended a similar approach in some side conversations we've had. I'm working on putting together a test build script right now that explodes our EAR and does the static weaving. I've created code based concrete aspects (extending the abstract Aspect and providing pointcuts).

I've kind of bought in to the need to do static instead of load time weaving for my particular application, but I'd still like to understand the obstacle I've run into. I've done a little classloader research and found the following:

Files in .WAR are loaded by a classloader 1 level deeper than those that are at the EAR level (which I expected).

Here's the dump (Each * represents the number of classloader layers that would need to be traversed to reach it):

EAR Level class
---------------------
* weblogic.utils.classloaders.GenericClassLoader@25b8af2( finder: weblogic.utils.classloaders.CodeGenClassFinder@25b8b65, annotation: simpleportal@, parent: weblogic.utils.classloaders.GenericClassLoader@1b4d2ad( finder: weblogic.utils.classloaders.CodeGenClassFinder@1b4d320, annotation: ApplicationClassLoader@, parent: weblogic.utils.classloaders.GenericClassLoader@17cce51( finder: weblogic.utils.classloaders.CodeGenClassFinder@17cd88e, annotation: null, parent: sun.misc.Launcher$AppClassLoader@1d05a1)))


** weblogic.utils.classloaders.GenericClassLoader@1b4d2ad( finder: weblogic.utils.classloaders.CodeGenClassFinder@1b4d320, annotation: ApplicationClassLoader@, parent: weblogic.utils.classloaders.GenericClassLoader@17cce51( finder: weblogic.utils.classloaders.CodeGenClassFinder@17cd88e, annotation: null, parent: sun.misc.Launcher$AppClassLoader@1d05a1))

*** weblogic.utils.classloaders.GenericClassLoader@17cce51( finder: weblogic.utils.classloaders.CodeGenClassFinder@17cd88e, annotation: null, parent: sun.misc.Launcher$AppClassLoader@1d05a1)

**** sun.misc.Launcher$AppClassLoader@1d05a1

***** sun.misc.Launcher$ExtClassLoader@1ce2ad

WAR Level class
-------------------
* weblogic.utils.classloaders.GenericClassLoader@266e282( finder: weblogic.utils.classloaders.CodeGenClassFinder@266e309, annotation: simpleportal@1_0, parent: weblogic.utils.classloaders.GenericClassLoader@25b8af2( finder: weblogic.utils.classloaders.CodeGenClassFinder@25b8b65, annotation: simpleportal@, parent: weblogic.utils.classloaders.GenericClassLoader@1b4d2ad( finder: weblogic.utils.classloaders.CodeGenClassFinder@1b4d320, annotation: ApplicationClassLoader@, parent: weblogic.utils.classloaders.GenericClassLoader@17cce51( finder: weblogic.utils.classloaders.CodeGenClassFinder@17cd88e, annotation: null, parent: sun.misc.Launcher$AppClassLoader@1d05a1))))


** weblogic.utils.classloaders.GenericClassLoader@25b8af2( finder: weblogic.utils.classloaders.CodeGenClassFinder@25b8b65, annotation: simpleportal@, parent: weblogic.utils.classloaders.GenericClassLoader@1b4d2ad( finder: weblogic.utils.classloaders.CodeGenClassFinder@1b4d320, annotation: ApplicationClassLoader@, parent: weblogic.utils.classloaders.GenericClassLoader@17cce51( finder: weblogic.utils.classloaders.CodeGenClassFinder@17cd88e, annotation: null, parent: sun.misc.Launcher$AppClassLoader@1d05a1)))

*** weblogic.utils.classloaders.GenericClassLoader@1b4d2ad( finder: weblogic.utils.classloaders.CodeGenClassFinder@1b4d320, annotation: ApplicationClassLoader@, parent: weblogic.utils.classloaders.GenericClassLoader@17cce51( finder: weblogic.utils.classloaders.CodeGenClassFinder@17cd88e, annotation: null, parent: sun.misc.Launcher$AppClassLoader@1d05a1))

**** weblogic.utils.classloaders.GenericClassLoader@17cce51( finder: weblogic.utils.classloaders.CodeGenClassFinder@17cd88e, annotation: null, parent: sun.misc.Launcher$AppClassLoader@1d05a1)

***** sun.misc.Launcher$AppClassLoader@1d05a1

****** sun.misc.Launcher$ExtClassLoader@1ce2ad

Any thoughts on an explanation?

Macon

From: Matthew Webster <matthew_webster@xxxxxxxxxx>
Reply-To: aspectj-users@xxxxxxxxxxx
To: aspectj-users@xxxxxxxxxxx
Subject: RE: [aspectj-users] Scoping or Weaving problem (???) with LTWin anEARon a WAR
Date: Mon, 26 Mar 2007 08:49:08 +0100


Macon,

This might be a problem with the <concrete-aspect> feature of aop.xml.
Could you try defining your aspect using code instead?

Matthew Webster
AOSD Project
Java Technology Centre, MP146
IBM United Kingdom Limited
Hursley Park, Winchester,  SO21 2JN, England
Telephone: +44 196 2816139 (external) 246139 (internal)



"Macon Pegram" <mpdisposal@xxxxxxxxxxx>
Sent by: aspectj-users-bounces@xxxxxxxxxxx
22/03/2007 18:02
Please respond to
aspectj-users@xxxxxxxxxxx


To aspectj-users@xxxxxxxxxxx cc

Subject
RE: [aspectj-users] Scoping or Weaving problem (???) with LTW in anEARon a
WAR






Ron,

I realized shortly after posting the question that I had left some details

out.

The JAR containing the aspect is actually at the EAR level.  The
exceptions
from the original posting actually occurred with that configuration.

I've tried putting it at both the EAR and the WAR level  and it balked
about
having 2 copies of the Concrete aspect.   There is a possible (but nasty)
solution where I could create 2 variations of the aspect jar with
different
concrete definitions in aop.xml.

I have not tried putting it at the container level yet.  Again, an
approach
I'd prefer to avoid if possible, but I'm not completely adverse to it.

Right now I'm trying to get an understanding of why this is happening and
that may illuminate the way to a solution.

Macon

_________________________________________________________________
5.5%* 30 year fixed mortgage rate. Good credit refinance. Up to 5 free
quotes - *Terms
https://www2.nextag.com/goto.jsp?product=100000035&url=%2fst.jsp&tm=y&search=mortgage_text_links_88_h2a5d&s=4056&p=5117&disc=y&vers=910


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







Unless stated otherwise above:
IBM United Kingdom Limited - Registered in England and Wales with number
741598.
Registered office: PO Box 41, North Harbour, Portsmouth, Hampshire PO6 3AU







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

_________________________________________________________________
Exercise your brain! Try Flexicon. http://games.msn.com/en/flexicon/default.htm?icid=flexicon_hmemailtaglinemarch07