Skip to main content

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index] [List Home]
[aspectj-users] Suspected stale cache use with WeavingURLClassLoader

Classes which are updated in certain ways (code changed, recompiled in Eclipse) which are then affected by an aspect file at load-time, do not reflect those changes.

My project is in Eclipse, using a WeavingURLClassLoader at the very beginning of execution for fleshed-out reasons out of scope of the question.

With only classes affected by an aspect:
   If a public static final *** value is changed in java, compiled, and run, that change will not be reflected from within the WeavingURLClassLoader.

   However If that public static final *** value is read from outside the weaver, the correct (newest) value is returned.

   If a method is added/removed/changed, everything for that class becomes up-to-date.

This is a simple run-stop-code-compile-run setup, not an always-running server or any other exotic change-while-running setup. Rebooting does not fix the issue. Running Eclipse->Project->Clean... after every code change to those affected classes *does* fix the issue.

If there is a cache location for the WeavingURLClassLoader, where is it-and is there a feature to clear it every time at program start or should I have my program manually delete the stale files?

Thanks for reading.

Back to the top