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() {

http://dive4elements.wald.intevation.org