Skip to main content

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index] [List Home]
[ve-dev] BeanInfo Cache, first pass.


I've released the first pass of the caching mechanism. The first time that is brought up on a workspace, if there was no cache before, one will be created. One for each class that is reflected when an editor is opened. (Actually possibly two, we also cache the merged .override files for a class so that we don't waste time searching through all of the directories for them).

After this it will use the caches.

Several caveats:

1) It will probably notice changes to source code classes as long as BeanInfo is open for a project. It will not see changes made to a class if the BeanInfo is not up and running in a project. And so such classes will stay stale and use the wrong cache until the class is again changed while BeanInfo is active in a project.

2) It will not see changes to external jars (like the JRE) if the jars have the same fully-qualified absolute path in the filesystem. This is unlikely to happen. Usually when you change JRE's you point to a new set of jars, not the same jars but with changed content.

3) If you crash within one minute after introspecting a changed class, the cache will not yet been written out. If you crash, the index of the cache files will not be written out. This means you may get some bad caches next time up.

4) There is no builder yet to call to clear the cache. So to clear the cache you need to go through file explorer and erase the files:

  a) .metadata\.plugins\org.eclipse.core.resources\.projects\project-name\org.eclipse.jem.beaninfo
    and delete the .cache directory. This contains the cache for any java files within your project (project-name).

  b) .metadata\.plugins\org.eclipse.jem.beaninfo and delete the .cache directory. (This directory is for the external jars, like the JRE. If you haven't changed the JRE and you had a good close of the Eclipse since the last time, then these are probably good and don't need to be deleted).

Thanks,
Rich

Back to the top