Mercurial > dive4elements > river
comparison flys-artifacts/src/main/java/de/intevation/flys/artifacts/cache/CacheFactory.java @ 972:0c8aca463bd4
Added caching support for the static part of the datacage.
flys-artifacts/trunk@2398 c6561f87-3c4e-4783-a992-168aeb5c3f6f
author | Sascha L. Teichmann <sascha.teichmann@intevation.de> |
---|---|
date | Fri, 22 Jul 2011 16:55:36 +0000 |
parents | e07d1c3f7667 |
children |
comparison
equal
deleted
inserted
replaced
971:d0c9a5f32c30 | 972:0c8aca463bd4 |
---|---|
9 import org.apache.log4j.Logger; | 9 import org.apache.log4j.Logger; |
10 | 10 |
11 public final class CacheFactory | 11 public final class CacheFactory |
12 { | 12 { |
13 private static Logger log = Logger.getLogger(CacheFactory.class); | 13 private static Logger log = Logger.getLogger(CacheFactory.class); |
14 | |
15 public static final String CACHE_CONFIG_FILE_PROPERTY = | |
16 "flys.artifacts.cache.config.file"; | |
14 | 17 |
15 public static final String XPATH_CACHE_CONFIG_FILE = | 18 public static final String XPATH_CACHE_CONFIG_FILE = |
16 "/artifact-database/cache/config-file/text()"; | 19 "/artifact-database/cache/config-file/text()"; |
17 | 20 |
18 private CacheFactory() { | 21 private CacheFactory() { |
24 | 27 |
25 public static final Cache getCache() { | 28 public static final Cache getCache() { |
26 return getCache(Cache.DEFAULT_CACHE_NAME); | 29 return getCache(Cache.DEFAULT_CACHE_NAME); |
27 } | 30 } |
28 | 31 |
32 public static final String getConfigFile() { | |
33 String configFile = System.getProperty(CACHE_CONFIG_FILE_PROPERTY); | |
34 | |
35 if (configFile != null) { | |
36 return configFile; | |
37 } | |
38 | |
39 configFile = Config.getStringXPath(XPATH_CACHE_CONFIG_FILE); | |
40 | |
41 if (configFile != null) { | |
42 configFile = Config.replaceConfigDir(configFile); | |
43 } | |
44 | |
45 return configFile; | |
46 } | |
47 | |
29 public static final synchronized Cache getCache(String cacheName) { | 48 public static final synchronized Cache getCache(String cacheName) { |
30 if (!initialized) { | 49 if (!initialized) { |
31 initialized = true; // try only once | 50 initialized = true; // try only once |
32 String configFile = Config.getStringXPath(XPATH_CACHE_CONFIG_FILE); | 51 String configFile = getConfigFile(); |
33 if (configFile != null) { | 52 if (configFile != null) { |
34 configFile = Config.replaceConfigDir(configFile); | |
35 try { | 53 try { |
36 cacheManager = CacheManager.create(configFile); | 54 cacheManager = CacheManager.create(configFile); |
37 //System.setProperty( | 55 //System.setProperty( |
38 // "net.sf.ehcache.enableShutdownHook", "true"); | 56 // "net.sf.ehcache.enableShutdownHook", "true"); |
39 Runtime.getRuntime().addShutdownHook(new Thread() { | 57 Runtime.getRuntime().addShutdownHook(new Thread() { |