Author: shashank
Date: Wed Feb 3 10:38:15 2016
New Revision: 1728295
URL: http://svn.apache.org/viewvc?rev=1728295&view=rev
Log:
OAK-3253 Support caching in FileDataStoreService
Added support. if "cacheSize > 0" is configured, CachingFDS is used. Otherwise
OakFileDataStore() is used.
2 test cases added.
Modified:
jackrabbit/oak/trunk/oak-core/src/main/java/org/apache/jackrabbit/oak/plugins/blob/datastore/AbstractDataStoreService.java
Modified:
jackrabbit/oak/trunk/oak-core/src/main/java/org/apache/jackrabbit/oak/plugins/blob/datastore/AbstractDataStoreService.java
URL:
http://svn.apache.org/viewvc/jackrabbit/oak/trunk/oak-core/src/main/java/org/apache/jackrabbit/oak/plugins/blob/datastore/AbstractDataStoreService.java?rev=1728295&r1=1728294&r2=1728295&view=diff
==============================================================================
---
jackrabbit/oak/trunk/oak-core/src/main/java/org/apache/jackrabbit/oak/plugins/blob/datastore/AbstractDataStoreService.java
(original)
+++
jackrabbit/oak/trunk/oak-core/src/main/java/org/apache/jackrabbit/oak/plugins/blob/datastore/AbstractDataStoreService.java
Wed Feb 3 10:38:15 2016
@@ -25,6 +25,7 @@ import java.util.Map;
import javax.jcr.RepositoryException;
+import com.google.common.collect.Maps;
import org.apache.felix.scr.annotations.Component;
import org.apache.felix.scr.annotations.Reference;
import org.apache.jackrabbit.core.data.DataStore;
@@ -70,6 +71,8 @@ public abstract class AbstractDataStoreS
private DataStoreBlobStore dataStore;
protected void activate(ComponentContext context, Map<String, Object>
config) throws RepositoryException {
+ // change to mutable map. may be modified in createDSCall
+ config = Maps.newHashMap(config);
DataStore ds = createDataStore(context, config);
boolean encodeLengthInId =
PropertiesUtil.toBoolean(config.get(PROP_ENCODE_LENGTH), true);
int cacheSizeInMB =
PropertiesUtil.toInteger(config.get(PROP_CACHE_SIZE),
DataStoreBlobStore.DEFAULT_CACHE_SIZE);
@@ -111,7 +114,7 @@ public abstract class AbstractDataStoreS
dataStore.close();
}
- protected abstract DataStore createDataStore(ComponentContext context,
Map<String, Object> config);
+ protected abstract DataStore createDataStore(ComponentContext context,
Map<String, Object> config) throws RepositoryException;
protected StatisticsProvider getStatisticsProvider(){
return statisticsProvider;