Proxy class builder rebuild classes without AOP on every change
Since classes that don't get a proxy class (if they don't use DI or AOP) are not put inside the cache, the build method of the ProxyClassBuilder will not find a cache entry inside the classes cache (hasCacheEntryForClass is always false).
So one change of a file still means a lot of time to go through each of these classes and not building an AOP proxy for them on the next run.
One possibility would be to also cache classes without proxy code (means duplication) or to store information somewhere inside the object configuration cache (means some effort to keep it in sync if the class eventually introduces DI or AOP).
Updated by Christopher Hlubek about 10 years ago
- Status changed from New to Accepted
- Assignee changed from Robert Lemke to Christopher Hlubek
I found a solution that seems to work. Inside the ProxyClassBuilder each target class that doesn't get a proxy is marked in the object configuration cache. But we have to cache each unproxied class individually to have separate cache tags.
I'll push a change request soon.