Skip to main content



      Home
Home » Language IDEs » AspectJ » How to Empty the Cache of Equinox Weaving (Disable Caching for Experimenting with LTW)
How to Empty the Cache of Equinox Weaving [message #989513] Thu, 06 December 2012 09:51 Go to next message
Eclipse UserFriend
Dear all,

I am using AspectJ and Equinox Weaving for load-time weaving. I have some issues with cached, woven byte code.

I am currently developing an aspect and I am experimenting with different pointcuts to which I apply advices. For example, I had a pointcut

private pointcut underWorkerRunner() : !within(Tracer) && cflowbelow(execution(public void run()));


which in a Tracer aspect advices all pointcuts in the control flow below Eclipse's org.eclipse.core.internal.jobs.Worker class. Now, after removing the pointcut specification and adding some others I get the following error when starting my Eclipse runtime instance:

[org.eclipse.equinox.weaving.caching] info starting standard caching service ...
Exception in thread "Worker-JM" java.lang.NoSuchFieldError: ajc$cflowCounter$0
at org.eclipse.core.internal.jobs.InternalWorker.run(InternalWorker.java)

Obviously, some code somewhere still advices the run method.

Here http://eclipse.org/aspectj/doc/released/README-170.html I found a comment on how to enable caching. I tried to turn it of by setting the VM argument of my run configuration aj.weaving.cache.enabled to false. But it does not change anything. My AspectJ related VM arguments are (-Dosgi.framework.extensions=org.eclipse.equinox.weaving.hook -Dorg.aspectj.osgi.verbose=true -Dorg.aspectj.weaver.showWeaveInfo=true -Daj.weaving.cache.enabled=false)

Did I forget to use another VM argument to clean the cache before the start of an Eclipse runtime instance? If not what do I have to do to clean the cache? For experimenting and early development I do not want equinox weaving caches enabled.

I am glad for any hint on where to find a solution to my problem.

Best regards,
Helge

[Updated on: Thu, 06 December 2012 09:52] by Moderator

Re: How to Empty the Cache of Equinox Weaving [message #989553 is a reply to message #989513] Thu, 06 December 2012 12:25 Go to previous messageGo to next message
Eclipse UserFriend
The caching mechanism described in the 1.7.0 readme and the one used by equinox aspects are different. I'm not even sure if the AspectJ caching will work with equinox weaving. I suggest that you disable it.

To get rid of the equinox weaving cache, you can do one of 2 things:

1. remove the o.e.e.weaving.cache bundle from your osgi app
2. restart with the -clean option to clean out your configuration area
Re: How to Empty the Cache of Equinox Weaving [message #989727 is a reply to message #989553] Fri, 07 December 2012 07:58 Go to previous message
Eclipse UserFriend
Hi Andrew,

Thank you for the quick reply. The -clean option did the trick. Thank you very much.

Best,
Helge
Previous Topic: [Urgent] - Bad version numner found in AspectJ 1.7.0 (m2eclipse issue?)
Next Topic:quick type hierarchy in indygo problem
Goto Forum:
  


Current Time: Sat May 24 07:14:26 EDT 2025

Powered by FUDForum. Page generated in 0.04146 seconds
.:: Contact :: Home ::.

Powered by: FUDforum 3.0.2.
Copyright ©2001-2010 FUDforum Bulletin Board Software

Back to the top