working webapp launcher for different cluster backends
Project: http://git-wip-us.apache.org/repos/asf/marmotta/repo Commit: http://git-wip-us.apache.org/repos/asf/marmotta/commit/61ba807a Tree: http://git-wip-us.apache.org/repos/asf/marmotta/tree/61ba807a Diff: http://git-wip-us.apache.org/repos/asf/marmotta/diff/61ba807a Branch: refs/heads/develop Commit: 61ba807ad17ea99bfbc1e23ad00b3ab982c87ece Parents: 7c40b53 Author: Sebastian Schaffert <[email protected]> Authored: Wed Mar 5 15:16:03 2014 +0100 Committer: Sebastian Schaffert <[email protected]> Committed: Wed Mar 5 15:16:03 2014 +0100 ---------------------------------------------------------------------- launchers/marmotta-webapp/pom.xml | 38 ++++++++++++++++++++ .../backend/kiwi/KiWiStoreProvider.java | 6 +++- .../resources/config-descriptions.properties | 18 +++++----- 3 files changed, 52 insertions(+), 10 deletions(-) ---------------------------------------------------------------------- http://git-wip-us.apache.org/repos/asf/marmotta/blob/61ba807a/launchers/marmotta-webapp/pom.xml ---------------------------------------------------------------------- diff --git a/launchers/marmotta-webapp/pom.xml b/launchers/marmotta-webapp/pom.xml index bf7bf27..ae061e2 100644 --- a/launchers/marmotta-webapp/pom.xml +++ b/launchers/marmotta-webapp/pom.xml @@ -345,6 +345,44 @@ </dependencies> </profile> + + <!-- Caching Backends for KiWi --> + + <profile> + <id>infinispan</id> + <activation> + <property> + <name>marmotta.caching</name> + <value>infinispan</value> + </property> + </activation> + <dependencies> + <dependency> + <groupId>org.apache.marmotta</groupId> + <artifactId>kiwi-caching-infinispan</artifactId> + <version>${project.version}</version> + </dependency> + </dependencies> + </profile> + + <profile> + <id>hazelcast</id> + <activation> + <property> + <name>marmotta.caching</name> + <value>hazelcast</value> + </property> + </activation> + <dependencies> + <dependency> + <groupId>org.apache.marmotta</groupId> + <artifactId>kiwi-caching-hazelcast</artifactId> + <version>${project.version}</version> + </dependency> + </dependencies> + </profile> + + <profile> <id>cleanall</id> <build> http://git-wip-us.apache.org/repos/asf/marmotta/blob/61ba807a/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 2091b0e..346d4cc 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 @@ -180,7 +180,11 @@ public class KiWiStoreProvider implements StoreProvider { e.containsChangedKey(KiWiOptions.CACHING_TRIPLE_SIZE) || e.containsChangedKey(KiWiOptions.CACHING_URI_SIZE) || e.containsChangedKey(KiWiOptions.CACHING_BNODE_SIZE) || - e.containsChangedKey(KiWiOptions.CACHING_QUERY_ENABLED) + e.containsChangedKey(KiWiOptions.CACHING_QUERY_ENABLED) || + e.containsChangedKey(KiWiOptions.CLUSTERING_BACKEND) || + e.containsChangedKey(KiWiOptions.CLUSTERING_ADDRESS) || + e.containsChangedKey(KiWiOptions.CLUSTERING_PORT) || + e.containsChangedKey(KiWiOptions.CLUSTERING_MODE) ) { log.info("KiWi backend configuration changed, re-initialising triple store"); http://git-wip-us.apache.org/repos/asf/marmotta/blob/61ba807a/platform/backends/marmotta-backend-kiwi/src/main/resources/config-descriptions.properties ---------------------------------------------------------------------- diff --git a/platform/backends/marmotta-backend-kiwi/src/main/resources/config-descriptions.properties b/platform/backends/marmotta-backend-kiwi/src/main/resources/config-descriptions.properties index 3cb207b..2bcc248 100644 --- a/platform/backends/marmotta-backend-kiwi/src/main/resources/config-descriptions.properties +++ b/platform/backends/marmotta-backend-kiwi/src/main/resources/config-descriptions.properties @@ -64,21 +64,21 @@ caching.bnode.size.type = java.lang.Integer(10|0|*) caching.triple.size.description = size of triple lookup cache caching.triple.size.type = java.lang.Integer(10|0|*) -clustering.enabled.description = Turn on cluster-specific configuration options (e.g. replicated and distributed caching, synchronization, ...) +clustering.enabled.description = Turn on cluster-specific configuration options (e.g. replicated and distributed caching\, synchronization, ...) clustering.enabled.type = java.lang.Boolean clustering.name.description = Cluster name to use in cluster configuration (e.g. cache cluster name) clustering.name.type = java.lang.String clustering.mode.description = Set the cache mode for the KiWi triple store. The following cluster modes are available: \ - LOCAL: In local cache mode, the cache is not shared among the servers in a cluster. Each machine keeps a local cache. \ - This allows quick startups and eliminates network traffic in the cluster, but subsequent requests to different \ + LOCAL: In local cache mode\, the cache is not shared among the servers in a cluster. Each machine keeps a local cache. \ + This allows quick startups and eliminates network traffic in the cluster\, but subsequent requests to different \ cluster members cannot benefit from the cached data. \ - DISTRIBUTED: In distributed cache mode, the cluster forms a big hash table used as a cache. This allows to make efficient \ - use of the large amount of memory available, but requires cache rebalancing and a lot of network transfers, \ + DISTRIBUTED: In distributed cache mode\, the cluster forms a big hash table used as a cache. This allows to make efficient \ + use of the large amount of memory available, but requires cache rebalancing and a lot of network transfers\, \ especially in case cluster members are restarted often. \ - REPLICATED: In replicated cache mode, each node in the cluster has an identical copy of all cache data. This allows \ - very efficient cache lookups and reduces the rebalancing effort, but requires more memory. + REPLICATED: In replicated cache mode\, each node in the cluster has an identical copy of all cache data. This allows \ + very efficient cache lookups and reduces the rebalancing effort\, but requires more memory. clustering.mode.type = java.lang.Enum("LOCAL"|"DISTRIBUTED"|"REPLICATED") clustering.address.description = Set the address used for sending UDP multicast packages in the cluster or the name of the remote server @@ -87,6 +87,6 @@ clustering.address.type = java.lang.String clustering.port.description = Set the port used for sending UDP multicast packages in the cluster or the port on the remote server clustering.port.type = java.lang.Integer(1|1024|65535) -clustering.backend.description = Caching backend used by KiWi (either Guava, Infinispan Cluster, Infinispan Hotrod, Hazelcast or EHCache) -clustering.backend.type = java.lang.enum("GUAVA","INFINISPAN_CLUSTER","INFINISPAN_HOTROD", "HAZELCAST", "EHCACHE") +clustering.backend.description = Caching backend used by KiWi (either Guava\, Infinispan Cluster\, Infinispan Hotrod\, Hazelcast or EHCache) +clustering.backend.type = java.lang.Enum("GUAVA"|"INFINISPAN_CLUSTER"|"INFINISPAN_HOTROD"|"HAZELCAST"|"EHCACHE")
