Task #1045

Feature #1044: Local data cacheing for java libclient

Modify libclient_java to support local data cacheing

Added by Matthew Jones over 13 years ago. Updated over 12 years ago.

Target version:
Start date:
Due date:
% Done:


Product Version:
Story Points:

Related issues

Blocks Infrastructure - Task #1043: Modify R client to access data from DataONE rather than filesystem Closed
Blocked by Infrastructure - Task #1046: Integrate Data Manager library to libclient_java to support metadata parsing Rejected


#1 Updated by Matthew Jones over 12 years ago

  • Status changed from New to In Progress

#2 Updated by Matthew Jones over 12 years ago

  • Category set to d1_libclient_java
  • % Done changed from 0 to 100
  • Milestone set to CCI-1.0.0

Implementation of the LocalCache (ticket #1044) for d1_libclient_java that provides a local memory and disk cache for objects retrieved from DataONE MemberNodes completed. Implementation uses the Java JCS system, which handles all of the heavy lifting. Objects are cached in memory up to a configurable limit, and then on disk up to another configurable limit. There is a new property 'D1Client.useLocalCache' that is checked when any D1Node is instantiated -- if true, then the local cache is utilized for get() calls, but if false then it is ignored and the service call is made regardless. SystemMetadata can also be cached, but because SystemMetadata is mutable, this is not done by default -- a specific method call needs to be made to cache SystemMetadata, and then it should only be done for short periods of time if determined appropriate by the application. By default SystemMetadata is not cached.

Unit tests were added to test the caching system locally. Tests need to be added to the integration test suite, but as that test suite has not been passing for months, I was unable to determine if the new features broke anything.

#3 Updated by Matthew Jones over 12 years ago

  • Status changed from In Progress to Closed

Also available in: Atom PDF

Add picture from clipboard (Maximum size: 14.8 MB)