[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index] [List Home]
Re: [aspectj-users] AspectJ and JBoss AOP implementation

To address a different question you raised:

> just wondering if there are any advantages of using AspectJ over the JBoss
> implementation.

My biased opinion, in AspectJ...

- easier to say and do what you want to do

- easier to experiment with, because of the doc/tool support
  and not having to wire in special class loaders.  That makes it
  easier to learn by doing.

- can do more things, e.g., combining inter-type declarations
  with advice.  The language is more powerful.

- clearest (which is not to say perfect) implementation of an
  AOP language, which lets the programmer build the solution

- safer, since there is full compile-time type-checking of the
  context surfaced in advice, etc.  With JBoss, you're back
  to reflective interceptor chains and the runtime errors
  (and testing) that requires.

- As a language, AspectJ can be implemented in many ways by
  many people, so I can expect better implementations to keep
  coming.  (plus, it has a test suite!)  I'm not sure what
  would motivate JBoss AOP developers to build more than they
  needed to implement some aspects for people to deploy there.
  The community at eclipse.org has an interest in building
  the quality of the language and tools for everything from
  mobile phones to e-commerce servers, so I expect knowing
  AspectJ will be fruitful for a long time.

The upshot:

JBoss is good if you are using JBoss and want to use some of the
features they have you configure and deploy using bytecode weaving.

AspectJ is the best-available AOP language.  Even if you have to
use JBoss, it's good to learn so you have an idea of how to
design and write aspects.


Arun Natarajan wrote:

Hello all,
Has someone recently evaluated AspectJ and the JBoss implementation? I read
some old papers talking about the performance related issues with JBoss, but
any other differences? JBoss seems to be more easy to learn than AspectJ.
Are there any functionalities that can be done using AspectJ but not using
the JBoss implementation?

I have just started using AspectJ and someone suggeted considering JBoss, so
just wondering if there are any advantages of using AspectJ over the JBoss

Arun N

aspectj-users mailing list