Re: AspectJ and the Plexus core

Stephen Haberman <[email protected]> Thu, 3 Jul 2003 08:32:13 -0500
Newsgroups gmane.comp.java.plexus.devel
Message-ID <[email protected]>
On Thu, Jul 03, 2003 at 09:19:07PM -0400, Jason van Zyl wrote:
> But to answer your question more directly the basic tenet will be
> that you will be able to morph the container and all of the
> components you use to suit the requirements of your specific
> domain.

Oh yes, I had forgotten you mentioned also being able to apply
aspects to the container as well. I'm not quite at the level of
comprehension to where I can truly appreciate that, but it seems
very nifty. :-)

> The basic plan is to provide an empty hull that all components
> will extend. This is really to provide one clean place where you
> can make any additions you want. So you can add new fields or
> methods using an aspect and then weave this aspect into all the
> components by 'filling' up this empty hull so to speak.

Cool.

> Your idea is pretty much in line with the general direction we've
> been moving in and actually a few weeks ago I made reference to
> the empty hull notion and will implement when I get some time.

Nice.

Out of curiousity, I don't mean to question your judgement, I'm just
interested in your reasoning, have you considering AspectWerkz (or
Nanning, though I currently favor AspectWerkz)?

It might be nicer with runtime weaving, from my initial read of the
documentation, plus I'm initially really liking the XML/pure-Java
combination compared to AspectJ's rather funky syntax that took me
awhile to get used to in the past.

Mainly I ask because I understand you're busy and so might within
the next few weeks play with applying runtime aspects to our app in
a much simpler, less elegant, hard coded way that a nifty
generalized container like plexus, and was planning to use
AspectWerkz.

If you've already found a good reason not to use AspectWerkz, I'd
default back to AspectJ. If you just haven't had time or desire to
look at it, that's certainly fine as well. I've just been pleasantly
surprised at just now finding the two open-source AOP frameworks
this week and wondering how mature/reliable/nifty they are.

Thanks,
Stephen