Hi Wendel,
Yes I think the default caching model is perloader.
The fact that increasing the memory removes that Spring error, that is very interesting. I'm not quite sure about the interaction there but it is very interesting :)
For testing out with modified pointcuts, you could, for example just (for a test run) use a simple aspect that weaves one particular method - that will tell us if it LTW in general that is slowing things down or if it seems to be the specific aspects you are using. Or you could tighten up your aspect to maybe targeting just one class that you want to instrument - how does that perform, is it ok? then gradually loosen the constraints (switching to wildcards in your pointcuts) and see at what point the performance issue hits.
> What do you mean by code style?
There are two ways to write an aspect, annotation style or code style
Annotation style:
@Aspect
public class C {
@Before("execution(* *(..))")
public void advice() {
...
}
}
or code style
public aspect C {
before(): execution(* *(..)) {
..
}
}
Code style has had many more years of hardening than annotations style and does enable the compiler/weaver to do smarter checking/optimizations in some areas. But if the memory changes are getting you beyond the closure issue, you don't need to try this. Code style aspects need to be built with the ajc compiler whereas annotation style can be built with javac.
cheers,
Andy