Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.
Comment: Migrated to Confluence 5.3

...

  • Ian B. has added some APIs and implementations to the branch to support multiple reference caching
    • Here are his notes about it which explain pretty clearly what it does
      It is a simplified multiple reference cache.
      Objects on the cache can either have forward or reverse dependencies.
      When an item is added its dependencies are recorded, when an item is removed the dependencies are removed.
      when an item is re-put, the dependencies are removed and the object updated and the dependencies updated.
      Any cluster implementation of this interfae will automatically perform
      cache operations over the whole cache, the consuming service should not
      have to and should not perform any cluster wide invalidation, only
      concerning itself with its own invalidations.
  • The files that were added are as follows
    • APIS
      • org.sakaiproject.memory.api.MultipleReferenceCache.java
      • Some exception classes
    • IMPLS
      • org.sakaiproject.memory.impl.ObjectDependsOnOthersCache.java
      • org.sakaiproject.memory.impl.ObjectIsDependedOnByOthersCache.java
      • net.sf.ehcache.distribution.* (fork of some parts of ehcache)
      • org.sakaiproject.memory.impl.util.DependentPayload.java (util class)
  • This has not added any dependencies or spring beans
  • The forked ehcache code is there to allow the replication to be turned off temporarily and then turned back on