From dd3c994801c42339cdced8eecb446e0503b010ca Mon Sep 17 00:00:00 2001 From: Tristan Tarrant Date: Thu, 29 Jan 2015 17:23:15 +0100 Subject: [PATCH] step-10/declarative-configuration Use the XML configuration instead of the programmatic API --- .../tutorial/embedded/WeatherApp.java | 24 ++++++------------- src/main/resources/weatherapp-infinispan.xml | 20 ++++++++++++++++ 2 files changed, 27 insertions(+), 17 deletions(-) create mode 100644 src/main/resources/weatherapp-infinispan.xml diff --git a/src/main/java/org/infinispan/tutorial/embedded/WeatherApp.java b/src/main/java/org/infinispan/tutorial/embedded/WeatherApp.java index 4f21821..ec4b395 100644 --- a/src/main/java/org/infinispan/tutorial/embedded/WeatherApp.java +++ b/src/main/java/org/infinispan/tutorial/embedded/WeatherApp.java @@ -1,17 +1,15 @@ package org.infinispan.tutorial.embedded; +import java.io.IOException; +import java.util.Map; +import java.util.Map.Entry; +import java.util.concurrent.TimeUnit; + import org.infinispan.Cache; -import org.infinispan.configuration.cache.CacheMode; -import org.infinispan.configuration.cache.ConfigurationBuilder; -import org.infinispan.configuration.global.GlobalConfigurationBuilder; import org.infinispan.manager.DefaultCacheManager; import org.infinispan.manager.EmbeddedCacheManager; import org.infinispan.stream.CacheCollectors; -import java.util.Map; -import java.util.Map.Entry; -import java.util.concurrent.TimeUnit; - import static java.util.stream.Collectors.averagingDouble; import static java.util.stream.Collectors.groupingBy; @@ -25,18 +23,10 @@ public class WeatherApp { private Cache cache; private final ClusterListener listener; - public WeatherApp() throws InterruptedException { - GlobalConfigurationBuilder global = GlobalConfigurationBuilder.defaultClusteredBuilder(); - global.transport().clusterName("WeatherApp").serialization().addContextInitializer(new SerializationContextInitializerImpl()); - cacheManager = new DefaultCacheManager(global.build()); + public WeatherApp() throws InterruptedException, IOException { + cacheManager = new DefaultCacheManager(WeatherApp.class.getResourceAsStream("/weatherapp-infinispan.xml")); listener = new ClusterListener(2); cacheManager.addListener(listener); - ConfigurationBuilder config = new ConfigurationBuilder(); - config - .expiration().lifespan(5, TimeUnit.SECONDS) - .clustering().cacheMode(CacheMode.DIST_SYNC) - .hash().groups().enabled().addGrouper(new LocationWeather.LocationGrouper()); - cacheManager.defineConfiguration("weather", config.build()); cache = cacheManager.getCache("weather"); cache.addListener(new CacheListener()); weatherService = initWeatherService(cache); diff --git a/src/main/resources/weatherapp-infinispan.xml b/src/main/resources/weatherapp-infinispan.xml new file mode 100644 index 0000000..7d12866 --- /dev/null +++ b/src/main/resources/weatherapp-infinispan.xml @@ -0,0 +1,20 @@ + + + + + + + + + + + + + + + + +