[Geoserver-devel] Developer opinion: using aspects and/or AspectJ in GeoServer?

Hi,
as a curiosity, what is people opinion on starting to use
AspectJ in GeoServer?

The library is still being developed (a new release is just
a few days old: http://www.eclipse.org/aspectj/) and
there has been books about it, but it never became
mainstream (not as Spring, Hibernate and some other libraries
are, at least)

The idea behind using AspectJ would be monitoring and control
of sorts, instead of rolling listeners pretty much anywhere
we could introduce aspects that are weaved in at runtime.

The idea is actually coming from Gabriel, but I guess he's
too shy or busy to ask, so I decided to go ahead and see
what people think.

Also, does anyone have familiarity with Spring own AOP
support?
http://static.springsource.org/spring/docs/2.5.x/reference/aop.html

Cheers
Andrea

--
Andrea Aime
OpenGeo - http://opengeo.org
Expert service straight from the developers.

I did some trivial aspectj experimenting back in 2002 and have done a bit with spring aop here and there. What I have found (and who knows if this is still valid) is that aspjectj seems to be more powerful as an AOP technology but at the end of the day they more or less do the same thing.

I would tend to favor spring AOP just based on the fact that (a) we already use it for some stuff (look at the EMFLogger class) and (b) we are deeply dependent on spring already.

There is also the question of which project is more active. It seems like aspjectj is making a comeback? But I don't think it has the legs under it that spring does.

2c.

-Justin

Andrea Aime wrote:

Hi,
as a curiosity, what is people opinion on starting to use
AspectJ in GeoServer?

The library is still being developed (a new release is just
a few days old: http://www.eclipse.org/aspectj/) and
there has been books about it, but it never became
mainstream (not as Spring, Hibernate and some other libraries
are, at least)

The idea behind using AspectJ would be monitoring and control
of sorts, instead of rolling listeners pretty much anywhere
we could introduce aspects that are weaved in at runtime.

The idea is actually coming from Gabriel, but I guess he's
too shy or busy to ask, so I decided to go ahead and see
what people think.

Also, does anyone have familiarity with Spring own AOP
support?
http://static.springsource.org/spring/docs/2.5.x/reference/aop.html

Cheers
Andrea

--
Justin Deoliveira
OpenGeo - http://opengeo.org
Enterprise support for open source geospatial.

Justin Deoliveira ha scritto:

I did some trivial aspectj experimenting back in 2002 and have done a bit with spring aop here and there. What I have found (and who knows if this is still valid) is that aspjectj seems to be more powerful as an AOP technology but at the end of the day they more or less do the same thing.

I would tend to favor spring AOP just based on the fact that (a) we already use it for some stuff (look at the EMFLogger class) and (b) we are deeply dependent on spring already.

There is also the question of which project is more active. It seems like aspjectj is making a comeback? But I don't think it has the legs under it that spring does.

Right. There is also the question of whether Spring AOP can add a pointcut in any random class (as you said, it used to be less powerful,
no idea what the situation is now) and also what performance overhead
comes with it compared to AspectJ.
Honestly, I don't know, but I'd like to know in order to make any
educated decision

Cheers
Andrea

--
Andrea Aime
OpenGeo - http://opengeo.org
Expert service straight from the developers.

Actually I can not understand why do the gs use spring. It has a high coupling with spring.
So it is a little difficult for ones who are not familiar with spring(for example me :frowning: ).
Maybe the gs is just a product for users rather than a open sources software for studying. :slight_smile:

2010/1/15 Justin Deoliveira <jdeolive@anonymised.com>

I did some trivial aspectj experimenting back in 2002 and have done a
bit with spring aop here and there. What I have found (and who knows if
this is still valid) is that aspjectj seems to be more powerful as an
AOP technology but at the end of the day they more or less do the same
thing.

I would tend to favor spring AOP just based on the fact that (a) we
already use it for some stuff (look at the EMFLogger class) and (b) we
are deeply dependent on spring already.

There is also the question of which project is more active. It seems
like aspjectj is making a comeback? But I don’t think it has the legs
under it that spring does.

2c.

-Justin

Andrea Aime wrote:

Hi,
as a curiosity, what is people opinion on starting to use
AspectJ in GeoServer?

The library is still being developed (a new release is just
a few days old: http://www.eclipse.org/aspectj/) and
there has been books about it, but it never became
mainstream (not as Spring, Hibernate and some other libraries
are, at least)

The idea behind using AspectJ would be monitoring and control
of sorts, instead of rolling listeners pretty much anywhere
we could introduce aspects that are weaved in at runtime.

The idea is actually coming from Gabriel, but I guess he’s
too shy or busy to ask, so I decided to go ahead and see
what people think.

Also, does anyone have familiarity with Spring own AOP
support?
http://static.springsource.org/spring/docs/2.5.x/reference/aop.html

Cheers
Andrea


Justin Deoliveira
OpenGeo - http://opengeo.org
Enterprise support for open source geospatial.


Throughout its 18-year history, RSA Conference consistently attracts the
world’s best and brightest in the field, creating opportunities for Conference
attendees to learn about information security’s most important issues through
interactions with peers, luminaries and emerging and established companies.
http://p.sf.net/sfu/rsaconf-dev2dev


Geoserver-devel mailing list
Geoserver-devel@anonymised.comsts.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/geoserver-devel

Andrea Aime wrote:

Justin Deoliveira ha scritto:

<snip>

Right. There is also the question of whether Spring AOP can add a pointcut in any random class (as you said, it used to be less powerful,
no idea what the situation is now) and also what performance overhead
comes with it compared to AspectJ.
Honestly, I don't know, but I'd like to know in order to make any
educated decision

I think it makes sense to approach this the same way we have approached all technology switches/adoptions. Do an evaluation of some candidates and write up the findings, then the PSC votes on it. Worked well for the move to spring and wicket.

Cheers
Andrea

--
Justin Deoliveira
OpenGeo - http://opengeo.org
Enterprise support for open source geospatial.

maven apache wrote:

Actually I can not understand why do the gs use spring. It has a high coupling with spring.
So it is a little difficult for ones who are not familiar with spring(for example me :frowning: ).
Maybe the gs is just a product for users rather than a open sources software for studying. :slight_smile:

We do lean quite heavily on spring, but that said spring is a very wildly used framework in the java web world. We use/abuse it as a plugin frawework which most applications do not, perhaps that is where most of the confusion stems from. But as with any framework of non trivial size there is a learning curve to it. But you compare it to something the eclipse framework and it is a walk in the park :slight_smile:

2010/1/15 Justin Deoliveira <jdeolive@anonymised.com <mailto:jdeolive@anonymised.com>>

    I did some trivial aspectj experimenting back in 2002 and have done a
    bit with spring aop here and there. What I have found (and who knows if
    this is still valid) is that aspjectj seems to be more powerful as an
    AOP technology but at the end of the day they more or less do the same
    thing.

    I would tend to favor spring AOP just based on the fact that (a) we
    already use it for some stuff (look at the EMFLogger class) and (b) we
    are deeply dependent on spring already.

    There is also the question of which project is more active. It seems
    like aspjectj is making a comeback? But I don't think it has the legs
    under it that spring does.

    2c.

    -Justin

    Andrea Aime wrote:
     > Hi,
     > as a curiosity, what is people opinion on starting to use
     > AspectJ in GeoServer?
     >
     > The library is still being developed (a new release is just
     > a few days old: http://www.eclipse.org/aspectj/) and
     > there has been books about it, but it never became
     > mainstream (not as Spring, Hibernate and some other libraries
     > are, at least)
     >
     > The idea behind using AspectJ would be monitoring and control
     > of sorts, instead of rolling listeners pretty much anywhere
     > we could introduce aspects that are weaved in at runtime.
     >
     > The idea is actually coming from Gabriel, but I guess he's
     > too shy or busy to ask, so I decided to go ahead and see
     > what people think.
     >
     > Also, does anyone have familiarity with Spring own AOP
     > support?
     > http://static.springsource.org/spring/docs/2.5.x/reference/aop.html
     >
     > Cheers
     > Andrea
     >

    --
    Justin Deoliveira
    OpenGeo - http://opengeo.org
    Enterprise support for open source geospatial.

    ------------------------------------------------------------------------------
    Throughout its 18-year history, RSA Conference consistently attracts the
    world's best and brightest in the field, creating opportunities for
    Conference
    attendees to learn about information security's most important
    issues through
    interactions with peers, luminaries and emerging and established
    companies.
    http://p.sf.net/sfu/rsaconf-dev2dev
    _______________________________________________
    Geoserver-devel mailing list
    Geoserver-devel@lists.sourceforge.net
    <mailto:Geoserver-devel@lists.sourceforge.net>
    https://lists.sourceforge.net/lists/listinfo/geoserver-devel

------------------------------------------------------------------------

------------------------------------------------------------------------------
Throughout its 18-year history, RSA Conference consistently attracts the
world's best and brightest in the field, creating opportunities for Conference
attendees to learn about information security's most important issues through
interactions with peers, luminaries and emerging and established companies.
http://p.sf.net/sfu/rsaconf-dev2dev

------------------------------------------------------------------------

_______________________________________________
Geoserver-devel mailing list
Geoserver-devel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/geoserver-devel

--
Justin Deoliveira
OpenGeo - http://opengeo.org
Enterprise support for open source geospatial.

maven apache ha scritto:

Actually I can not understand why do the gs use spring. It has a high coupling with spring.
So it is a little difficult for ones who are not familiar with spring(for example me :frowning: ).
Maybe the gs is just a product for users rather than a open sources software for studying. :slight_smile:

Spring is used very widely in web application, there is basically
no major framework around missing a Spring integration of some sort.

That said, it has a learning curve, it's not geared to simple
application and not meant to be a teaching tool.
In any case, if you want to be a Java professional Spring is one of
the libraries you cannot possibly avoid knowing about.

Cheers
Andrea

--
Andrea Aime
OpenGeo - http://opengeo.org
Expert service straight from the developers.

2010/1/15 Justin Deoliveira <jdeolive@anonymised.com>

maven apache wrote:

Actually I can not understand why do the gs use spring. It has a high coupling with spring.
So it is a little difficult for ones who are not familiar with spring(for example me :frowning: ).
Maybe the gs is just a product for users rather than a open sources software for studying. :slight_smile:

We do lean quite heavily on spring, but that said spring is a very wildly used framework in the java web world. We use/abuse it as a plugin frawework which most applications do not, perhaps that is where most of the confusion stems from. But as with any framework of non trivial size there is a learning curve to it. But you compare it to something the eclipse framework and it is a walk in the park :slight_smile:

To tell the truth, I do not oppose spring,on the contrary I appreciate its some components (for my case, I like its mvc component,I think it is more clear than other framework in the defining of Model View and Controller).

I just do not have enough time to learn quite heavily on spring, and if so I can not understand the gs. It is a contradiction. :frowning:

However the gs is still a good product, thanks for your job!.

2010/1/15 Justin Deoliveira <jdeolive@anonymised.com mailto:[jdeolive@anonymised.com](mailto:jdeolive@anonymised.com)>

I did some trivial aspectj experimenting back in 2002 and have done a
bit with spring aop here and there. What I have found (and who knows if
this is still valid) is that aspjectj seems to be more powerful as an
AOP technology but at the end of the day they more or less do the same
thing.

I would tend to favor spring AOP just based on the fact that (a) we
already use it for some stuff (look at the EMFLogger class) and (b) we
are deeply dependent on spring already.

There is also the question of which project is more active. It seems
like aspjectj is making a comeback? But I don’t think it has the legs
under it that spring does.

2c.

-Justin

Andrea Aime wrote:

Hi,
as a curiosity, what is people opinion on starting to use
AspectJ in GeoServer?

The library is still being developed (a new release is just
a few days old: http://www.eclipse.org/aspectj/) and
there has been books about it, but it never became
mainstream (not as Spring, Hibernate and some other libraries
are, at least)

The idea behind using AspectJ would be monitoring and control
of sorts, instead of rolling listeners pretty much anywhere
we could introduce aspects that are weaved in at runtime.

The idea is actually coming from Gabriel, but I guess he’s
too shy or busy to ask, so I decided to go ahead and see
what people think.

Also, does anyone have familiarity with Spring own AOP
support?
http://static.springsource.org/spring/docs/2.5.x/reference/aop.html

Cheers
Andrea


Justin Deoliveira
OpenGeo - http://opengeo.org
Enterprise support for open source geospatial.


Throughout its 18-year history, RSA Conference consistently attracts the
world’s best and brightest in the field, creating opportunities for
Conference
attendees to learn about information security’s most important
issues through
interactions with peers, luminaries and emerging and established
companies.
http://p.sf.net/sfu/rsaconf-dev2dev


Geoserver-devel mailing list
Geoserver-devel@lists.sourceforge.net
mailto:[Geoserver-devel@lists.sourceforge.net](mailto:Geoserver-devel@lists.sourceforge.net)
https://lists.sourceforge.net/lists/listinfo/geoserver-devel



Throughout its 18-year history, RSA Conference consistently attracts the
world’s best and brightest in the field, creating opportunities for Conference
attendees to learn about information security’s most important issues through
interactions with peers, luminaries and emerging and established companies.
http://p.sf.net/sfu/rsaconf-dev2dev



Geoserver-devel mailing list
Geoserver-devel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/geoserver-devel


Justin Deoliveira
OpenGeo - http://opengeo.org
Enterprise support for open source geospatial.

Ciao Andrea,
question, is this just an investigation or is it something that might
become a GSIP anytime soon_
I am asking since we are looking into doing something similar per
doing monitoring on GeoServeràs health.

Simone.
-------------------------------------------------------
Ing. Simone Giannecchini
GeoSolutions S.A.S.
Founder - Software Engineer
Via Carignoni 51
55041 Camaiore (LU)
Italy

phone: +39 0584983027
fax: +39 0584983027
mob: +39 333 8128928

http://www.geo-solutions.it
http://geo-solutions.blogspot.com/
http://www.linkedin.com/in/simonegiannecchini
http://twitter.com/simogeo

-------------------------------------------------------

On Fri, Jan 15, 2010 at 12:19 PM, Andrea Aime <aaime@anonymised.com> wrote:

Hi,
as a curiosity, what is people opinion on starting to use
AspectJ in GeoServer?

The library is still being developed (a new release is just
a few days old: http://www.eclipse.org/aspectj/) and
there has been books about it, but it never became
mainstream (not as Spring, Hibernate and some other libraries
are, at least)

The idea behind using AspectJ would be monitoring and control
of sorts, instead of rolling listeners pretty much anywhere
we could introduce aspects that are weaved in at runtime.

The idea is actually coming from Gabriel, but I guess he's
too shy or busy to ask, so I decided to go ahead and see
what people think.

Also, does anyone have familiarity with Spring own AOP
support?
http://static.springsource.org/spring/docs/2.5.x/reference/aop.html

Cheers
Andrea

--
Andrea Aime
OpenGeo - http://opengeo.org
Expert service straight from the developers.

------------------------------------------------------------------------------
Throughout its 18-year history, RSA Conference consistently attracts the
world's best and brightest in the field, creating opportunities for Conference
attendees to learn about information security's most important issues through
interactions with peers, luminaries and emerging and established companies.
http://p.sf.net/sfu/rsaconf-dev2dev
_______________________________________________
Geoserver-devel mailing list
Geoserver-devel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/geoserver-devel

Simone Giannecchini ha scritto:

Ciao Andrea,
question, is this just an investigation or is it something that might
become a GSIP anytime soon_
I am asking since we are looking into doing something similar per
doing monitoring on GeoServeràs health.

There is a chance it will become a community module relatively soon,
but I don't have the crystal ball. There is general interest for sure,
when that will materialize into code I don't know.

But if we both happen to end up working on something like that
we'd better share the workload.

What we're looking into is to gather statistics about each request,
stuff like service and method, layers involved, eventually geographical
area involved, time to serve the request, size of the response and so on. Enough to answer questions like: who is making most requests,
what is the most requests layer, what are the heaviest requests and
so on.

What about you?

Cheers
Andrea

--
Andrea Aime
OpenGeo - http://opengeo.org
Expert service straight from the developers.

It will be very nice if the aspect used one of the many open source runtime monitoring libraries like:
Jamon: http://jamonapi.sourceforge.net/
JETM: http://jetm.void.fm/
Commons monitoring: http://commons.apache.org/sandbox/monitoring/
Usemon: http://code.google.com/p/usemon/
javasimon: http://code.google.com/p/javasimon

Since using one of these libraries will allow GS to leverage their work in JMX support and any statistics viewers they have.

-----Original Message-----
From: Andrea Aime [mailto:aaime@anonymised.com]
Sent: Friday, January 15, 2010 2:16 PM
To: Simone Giannecchini
Cc: Geoserver-devel
Subject: Re: [Geoserver-devel] Developer opinion: using aspects and/or AspectJ in GeoServer?

Simone Giannecchini ha scritto:

Ciao Andrea,
question, is this just an investigation or is it something that might
become a GSIP anytime soon_
I am asking since we are looking into doing something similar per
doing monitoring on GeoServeràs health.

There is a chance it will become a community module relatively soon,
but I don't have the crystal ball. There is general interest for sure,
when that will materialize into code I don't know.

But if we both happen to end up working on something like that
we'd better share the workload.

What we're looking into is to gather statistics about each request,
stuff like service and method, layers involved, eventually geographical
area involved, time to serve the request, size of the response and so
on. Enough to answer questions like: who is making most requests,
what is the most requests layer, what are the heaviest requests and
so on.

What about you?

Cheers
Andrea

--
Andrea Aime
OpenGeo - http://opengeo.org
Expert service straight from the developers.

------------------------------------------------------------------------------
Throughout its 18-year history, RSA Conference consistently attracts the
world's best and brightest in the field, creating opportunities for Conference
attendees to learn about information security's most important issues through
interactions with peers, luminaries and emerging and established companies.
http://p.sf.net/sfu/rsaconf-dev2dev
_______________________________________________
Geoserver-devel mailing list
Geoserver-devel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/geoserver-devel

When I was researching for an AOP framework I was first very excited about Spring AOP[1] due to obvious reasons: integration with Spring and no need for an extra compilation step or runtime weaver.
But then got disapointed by its limitations.
For instance, Spring AOP works only by proxying Spring registered beans. No way to advise an object that's not a Spring bean.
With AspectJ[2] you can do whatever you want on objects of any class, with the catch of either adding compilation step for the pre processor to convert AOP idioms into woven classes, or use the runtime weaving by passing a VM argument.
I for instance made an exploratory prototype for gathering the requests statistics information needed for an hypothetical monitoring module, and found that runtime weaving is just as easy to implement _and_ to debug. Moreover, there are quite a bunch of information that couldn't have been gathered with Spring AOP, whilst with AspectJ it was possible to gather all the required information in a single aspect, advising methods from the Dispatcher and FeatureTypeInfo, neither of which is a Spring bean.

From the Spring AOP documentation <http://static.springsource.org/spring/docs/2.5.x/reference/aop.html#aop-spring-or-aspectj&gt;:
"Use the simplest thing that can work. Spring AOP is simpler than using full AspectJ as there is no requirement to introduce the AspectJ compiler / weaver into your development and build processes. If you only need to advise the execution of operations on Spring beans, then Spring AOP is the right choice. If you need to advise objects not managed by the Spring container (such as domain objects typically), then you will need to use AspectJ. You will also need to use AspectJ if you wish to advise join points other than simple method executions (for example, field get or set join points, and so on)."

Finally, AspectJ is in itself an eclipse project now, and wrt IDE integration, AspectJ comes with plugins for eclipse, JBuilder, NetBeans, JDeveloper, Emacs and JDEE; and the AspectJ In Action book is quite good.

Those are the reasons I favor AspectJ over Spring AOP. Though at a first glance I would have liked to keep tied to Spring instead of introducing an extra framework and runtime weaver.

My 2c/
Gabriel

[1] <http://static.springsource.org/spring/docs/2.5.x/reference/aop.html&gt;
[2] <http://www.eclipse.org/aspectj/&gt;

Justin Deoliveira wrote:

I did some trivial aspectj experimenting back in 2002 and have done a bit with spring aop here and there. What I have found (and who knows if this is still valid) is that aspjectj seems to be more powerful as an AOP technology but at the end of the day they more or less do the same thing.

I would tend to favor spring AOP just based on the fact that (a) we already use it for some stuff (look at the EMFLogger class) and (b) we are deeply dependent on spring already.

There is also the question of which project is more active. It seems like aspjectj is making a comeback? But I don't think it has the legs under it that spring does.

2c.

-Justin

Andrea Aime wrote:

Hi,
as a curiosity, what is people opinion on starting to use
AspectJ in GeoServer?

The library is still being developed (a new release is just
a few days old: http://www.eclipse.org/aspectj/) and
there has been books about it, but it never became
mainstream (not as Spring, Hibernate and some other libraries
are, at least)

The idea behind using AspectJ would be monitoring and control
of sorts, instead of rolling listeners pretty much anywhere
we could introduce aspects that are weaved in at runtime.

The idea is actually coming from Gabriel, but I guess he's
too shy or busy to ask, so I decided to go ahead and see
what people think.

Also, does anyone have familiarity with Spring own AOP
support?
http://static.springsource.org/spring/docs/2.5.x/reference/aop.html

Cheers
Andrea

--
Gabriel Roldan
OpenGeo - http://opengeo.org
Expert service straight from the developers.

Hi Belai,

that looks interesting indeed. Do you have experience with any of them, or can advise on their maturity/usefulness/flexibility?

Cheers,
Gabriel

Belai Beshah wrote:

It will be very nice if the aspect used one of the many open source runtime monitoring libraries like:
Jamon: http://jamonapi.sourceforge.net/
JETM: http://jetm.void.fm/
Commons monitoring: http://commons.apache.org/sandbox/monitoring/
Usemon: http://code.google.com/p/usemon/
javasimon: http://code.google.com/p/javasimon

Since using one of these libraries will allow GS to leverage their work in JMX support and any statistics viewers they have.

-----Original Message-----
From: Andrea Aime [mailto:aaime@anonymised.com] Sent: Friday, January 15, 2010 2:16 PM
To: Simone Giannecchini
Cc: Geoserver-devel
Subject: Re: [Geoserver-devel] Developer opinion: using aspects and/or AspectJ in GeoServer?

Simone Giannecchini ha scritto:

Ciao Andrea,
question, is this just an investigation or is it something that might
become a GSIP anytime soon_
I am asking since we are looking into doing something similar per
doing monitoring on GeoServeràs health.

There is a chance it will become a community module relatively soon,
but I don't have the crystal ball. There is general interest for sure,
when that will materialize into code I don't know.

But if we both happen to end up working on something like that
we'd better share the workload.

What we're looking into is to gather statistics about each request,
stuff like service and method, layers involved, eventually geographical
area involved, time to serve the request, size of the response and so on. Enough to answer questions like: who is making most requests,
what is the most requests layer, what are the heaviest requests and
so on.

What about you?

Cheers
Andrea

--
Gabriel Roldan
OpenGeo - http://opengeo.org
Expert service straight from the developers.

Gabriel Roldan ha scritto:

Those are the reasons I favor AspectJ over Spring AOP. Though at a first glance I would have liked to keep tied to Spring instead of introducing an extra framework and runtime weaver.

Gabriel,
say we go down with AspectJ, what changes in the build process do we need to make? Did you explore the Maven integration, is it working fine?

What about JDK support? Do aspect work with all JDK around? Sun, OpenJDK, IBM?

Also, is is possible to activate an aspect only if a certain module
is added, or do we have to put the aspects into core to make the weaving
compiler bake them into the intercepted classes bytecode?

Cheers
Andrea

--
Andrea Aime
OpenGeo - http://opengeo.org
Expert service straight from the developers.

Andrea Aime wrote:

Gabriel Roldan ha scritto:

Those are the reasons I favor AspectJ over Spring AOP. Though at a first glance I would have liked to keep tied to Spring instead of introducing an extra framework and runtime weaver.

Gabriel,
say we go down with AspectJ, what changes in the build process do we need to make? Did you explore the Maven integration, is it working fine?

I didn't explore the maven integration because I didn't really want compile time weaving because that means all the classes needed by your aspect needs to be woven (ie, compiled as class files, either from sources or from bytecode, and put into a separate jar. So, having main-aspect.jar instead of main.jar, for example).

Instead, I prefer load time weaving where no changes need to be made, but only telling the JVM which agent to use (java -javaagent:pathto/aspectjweaver.jar)

What about JDK support? Do aspect work with all JDK around? Sun, OpenJDK, IBM?

That's what they claim <http://www.eclipse.org/aspectj/doc/released/devguide/compatibility.html#javaCompatibility&gt;

Also, is is possible to activate an aspect only if a certain module
is added, or do we have to put the aspects into core to make the weaving
compiler bake them into the intercepted classes bytecode?

With load time weaving that's always the case. With compile time weaving I guess you need to wave them all with all the aspects you want at compile time, then use the generated .class files instead of the originals, which I don't like.

Cheers,
Gabriel

Cheers
Andrea

--
Gabriel Roldan
OpenGeo - http://opengeo.org
Expert service straight from the developers.