If you want to weave statically you should
convert the Web and EJB projects to be AspectJ projects and put the utility
project as a classpath entry and on their aspect path. I believe the problem
you were seeing was really a classpath issue: EJB modules don’t have Web
modules on their classpath, whereas having a common utility project can fix
this.
Having a common thread local still
requires the class to be accessible to both, though you might be able to get
away with weaving separately.
From: ajdt-dev-bounces@xxxxxxxxxxx
[mailto:ajdt-dev-bounces@xxxxxxxxxxx] On
Behalf Of Marco Mistroni
Sent: Friday, February 17, 2006
9:31 AM
To: AspectJ
Development Tools developer discussions
Subject: Re: [ajdt-dev] AOP
question / wormhole
Hello Ron,
thanx 4 fast reply..
ah... an 'external' utility project..... i havent thought about it...
but then i suspect i will have to set the AspectPath in order for my aspect to
weave classes in a different project....
have tried before.... didnt work out well
as of now i have createda c ommon class that uses threadLocal. i am setting it
up properly in the aspect that intercepts my ServletFilter and accessing it
from my EJB aspect..
thanks for suggestion... i'll try it out and let the list know
thanx again and regards
marco
On 2/17/06, Ron
Bodkin <
rbodkin@xxxxxxxxxxxxxx> wrote:
Hi Marco,
It sounds to me like you just need to make the classes
accessible to both projects… If you've set up your projects in RAD making both
the Web and EJB modules have an AspectJ nature, then you can put the security
aspect in a separate utility project that both depend on and that is included
as a utility jar in the ear file, i.e., you need it to be accessible to both.
Does that work for you?
Another approach to make this work inside of RAD is to use
load-time weaving (I have a blog entry describing a plugin for WebSphere that
should work).
Hello Ron,
i have tried ur
suggestions.. it will work fine except for one thing: my
UserRequestAspect and MyAuditAspect are in different]
project in my RAD environment
one is in myEJB project and the other is in myWeb project....
MyAuditAspect should get the user from UserREquestASpect, but since they are in
different projects i have a
ClassNotFoundException at runtime.
myWeb project is already referring to myEJB, and i want to avoid to make myEJb
refer to myWeb for my usecase...
I have posted my problem, the subject is AJDT / RAD / AspectPath again :(
looks to me like i will have to do some tricks, such as creating a class in my
aspect htat i can access via static methods from
my myEJB project aspect... as i have found in this post..
http://groups.google.co.uk/group/CTJUG-Forum/browse_thread/thread/e2a34649eb322d7f/f4c961cf44f90f0c?lnk=st&q=ThreadLocal+AOP&rnum=2&hl=en#f4c961cf44f90f0c
unless.... do you have a better suggestion to give me?
thanks in advance and regards
marco
_______________________________________________
ajdt-dev mailing list
ajdt-dev@xxxxxxxxxxx
https://dev.eclipse.org/mailman/listinfo/ajdt-dev