Mercurial > dive4elements > gnv-client
diff geo-backend/src/main/java/de/intevation/gnv/geobackend/base/query/CachingQueryExecutorFactory.java @ 1122:1985d5db0feb
Implemented a global configuration that should be used to initialize the geobackend.
geo-backend/trunk@1149 c6561f87-3c4e-4783-a992-168aeb5c3f6f
author | Ingo Weinzierl <ingo.weinzierl@intevation.de> |
---|---|
date | Thu, 03 Jun 2010 13:31:07 +0000 |
parents | 02cd2935b5fa |
children | f3fdbeef1c68 |
line wrap: on
line diff
--- a/geo-backend/src/main/java/de/intevation/gnv/geobackend/base/query/CachingQueryExecutorFactory.java Thu Jun 03 12:35:35 2010 +0000 +++ b/geo-backend/src/main/java/de/intevation/gnv/geobackend/base/query/CachingQueryExecutorFactory.java Thu Jun 03 13:31:07 2010 +0000 @@ -11,6 +11,7 @@ import de.intevation.gnv.geobackend.base.Result; import de.intevation.gnv.geobackend.base.query.cache.CacheCleaner; +import de.intevation.gnv.geobackend.config.Configuration; /** * @author <a href="mailto:sascha.teichmann@intevation.de">Sascha L. Teichmann</a> @@ -18,7 +19,6 @@ public class CachingQueryExecutorFactory extends QueryExecutorFactory { - public static final String QUERY_EXECUTOR_FACTORY = "caching.query.executor.config"; public static final String CACHE_NAME = "sql.cache"; private static Logger log = Logger.getLogger(CachingQueryExecutorFactory.class); @@ -27,13 +27,27 @@ public CachingQueryExecutorFactory() { log.info("using SQL cache"); - String configFile = System.getProperty(QUERY_EXECUTOR_FACTORY); - manager = configFile != null - ? new CacheManager(configFile) - : new CacheManager(); - manager.addCache(CACHE_NAME); - CacheCleaner cc = new CacheCleaner(); - cc.start(); + + init(); + } + + private void init() { + Configuration config = Configuration.getInstance(); + + if (config == null) { + log.error("No geobackend configuration found. " + + "Wasn't able to initialize cache."); + return; + } + else { + String configFile = config.getCacheConfiguration(); + manager = configFile != null + ? new CacheManager(configFile) + : new CacheManager(); + manager.addCache(CACHE_NAME); + CacheCleaner cc = new CacheCleaner(); + cc.start(); + } } public QueryExecutor getQueryExecutor() {