Repository: marmotta Updated Branches: refs/heads/develop 9ee0cade6 -> 28913e9ef
fix some issues in cluster configuration for loader Project: http://git-wip-us.apache.org/repos/asf/marmotta/repo Commit: http://git-wip-us.apache.org/repos/asf/marmotta/commit/28913e9e Tree: http://git-wip-us.apache.org/repos/asf/marmotta/tree/28913e9e Diff: http://git-wip-us.apache.org/repos/asf/marmotta/diff/28913e9e Branch: refs/heads/develop Commit: 28913e9effbf5de56fe401f661b8216c7b9990b1 Parents: 9ee0cad Author: Sebastian Schaffert <[email protected]> Authored: Tue Sep 23 17:36:18 2014 +0200 Committer: Sebastian Schaffert <[email protected]> Committed: Tue Sep 23 17:36:18 2014 +0200 ---------------------------------------------------------------------- .../kiwi/loader/generic/KiWiHandler.java | 23 ++++++++++++++++++-- .../backend/kiwi/KiWiStoreProvider.java | 7 ++++++ 2 files changed, 28 insertions(+), 2 deletions(-) ---------------------------------------------------------------------- http://git-wip-us.apache.org/repos/asf/marmotta/blob/28913e9e/libraries/kiwi/kiwi-loader/src/main/java/org/apache/marmotta/kiwi/loader/generic/KiWiHandler.java ---------------------------------------------------------------------- diff --git a/libraries/kiwi/kiwi-loader/src/main/java/org/apache/marmotta/kiwi/loader/generic/KiWiHandler.java b/libraries/kiwi/kiwi-loader/src/main/java/org/apache/marmotta/kiwi/loader/generic/KiWiHandler.java index 0584133..23aeff7 100644 --- a/libraries/kiwi/kiwi-loader/src/main/java/org/apache/marmotta/kiwi/loader/generic/KiWiHandler.java +++ b/libraries/kiwi/kiwi-loader/src/main/java/org/apache/marmotta/kiwi/loader/generic/KiWiHandler.java @@ -25,7 +25,10 @@ import org.apache.marmotta.commons.util.DateUtils; import org.apache.marmotta.kiwi.loader.KiWiLoaderConfiguration; import org.apache.marmotta.kiwi.model.rdf.*; import org.apache.marmotta.kiwi.persistence.KiWiConnection; +import org.apache.marmotta.kiwi.persistence.registry.CacheTripleRegistry; import org.apache.marmotta.kiwi.persistence.registry.DBTripleRegistry; +import org.apache.marmotta.kiwi.persistence.registry.KiWiTripleRegistry; +import org.apache.marmotta.kiwi.persistence.registry.LocalTripleRegistry; import org.apache.marmotta.kiwi.sail.KiWiStore; import org.openrdf.model.*; import org.openrdf.model.impl.URIImpl; @@ -70,7 +73,7 @@ public class KiWiHandler implements RDFHandler { private KiWiResource overrideContext; // only used when statement existance check is enabled - protected DBTripleRegistry registry; + protected KiWiTripleRegistry registry; protected Date importDate; @@ -99,7 +102,23 @@ public class KiWiHandler implements RDFHandler { if(config.isStatementExistanceCheck()) { - registry = new DBTripleRegistry(store); + switch (store.getPersistence().getConfiguration().getRegistryStrategy()) { + case DATABASE: + log.info("KiWi Loader: database registry"); + registry = new DBTripleRegistry(store); + break; + case CACHE: + log.info("KiWi Loader: cache registry"); + registry = new CacheTripleRegistry(store.getPersistence().getCacheManager()); + break; + case LOCAL: + log.info("KiWi Loader: in-memory registry"); + registry = new LocalTripleRegistry(); + break; + default: + log.info("KiWi Loader: in-memory registry"); + registry = new LocalTripleRegistry(); + } } } http://git-wip-us.apache.org/repos/asf/marmotta/blob/28913e9e/platform/backends/marmotta-backend-kiwi/src/main/java/org/apache/marmotta/platform/backend/kiwi/KiWiStoreProvider.java ---------------------------------------------------------------------- diff --git a/platform/backends/marmotta-backend-kiwi/src/main/java/org/apache/marmotta/platform/backend/kiwi/KiWiStoreProvider.java b/platform/backends/marmotta-backend-kiwi/src/main/java/org/apache/marmotta/platform/backend/kiwi/KiWiStoreProvider.java index 346d4cc..f0be73c 100644 --- a/platform/backends/marmotta-backend-kiwi/src/main/java/org/apache/marmotta/platform/backend/kiwi/KiWiStoreProvider.java +++ b/platform/backends/marmotta-backend-kiwi/src/main/java/org/apache/marmotta/platform/backend/kiwi/KiWiStoreProvider.java @@ -21,6 +21,7 @@ import com.google.common.collect.ImmutableList; import org.apache.marmotta.kiwi.config.CacheMode; import org.apache.marmotta.kiwi.config.CachingBackends; import org.apache.marmotta.kiwi.config.KiWiConfiguration; +import org.apache.marmotta.kiwi.config.RegistryStrategy; import org.apache.marmotta.kiwi.exception.DriverNotFoundException; import org.apache.marmotta.kiwi.persistence.KiWiDialect; import org.apache.marmotta.kiwi.persistence.h2.H2Dialect; @@ -123,6 +124,12 @@ public class KiWiStoreProvider implements StoreProvider { configuration.setCachingBackend(CachingBackends.valueOf(configurationService.getStringConfiguration(KiWiOptions.CLUSTERING_BACKEND, "GUAVA"))); configuration.setCacheMode(CacheMode.valueOf(configurationService.getStringConfiguration(KiWiOptions.CLUSTERING_MODE,"LOCAL"))); + if(configuration.isClustered()) { + configuration.setRegistryStrategy(RegistryStrategy.CACHE); + } else { + configuration.setRegistryStrategy(RegistryStrategy.LOCAL); + } + NotifyingSail base = new KiWiStore(configuration);
