From feff94fdffe67ba32b92e932704d2352c7778543 Mon Sep 17 00:00:00 2001
From: Kai Reinhard <K.Reinhard@micromata.de>
Date: Mon, 10 Dec 2018 07:17:27 +0000
Subject: [PATCH] First cache migrated successfully to JSC.
---
borgbutler-core/src/main/java/de/micromata/borgbutler/cache/JCSCache.java | 27 +++++++++++++++++++++++++--
1 files changed, 25 insertions(+), 2 deletions(-)
diff --git a/borgbutler-core/src/main/java/de/micromata/borgbutler/jcs/JCSCache.java b/borgbutler-core/src/main/java/de/micromata/borgbutler/cache/JCSCache.java
similarity index 74%
rename from borgbutler-core/src/main/java/de/micromata/borgbutler/jcs/JCSCache.java
rename to borgbutler-core/src/main/java/de/micromata/borgbutler/cache/JCSCache.java
index f2d4599..5f4fa4d 100644
--- a/borgbutler-core/src/main/java/de/micromata/borgbutler/jcs/JCSCache.java
+++ b/borgbutler-core/src/main/java/de/micromata/borgbutler/cache/JCSCache.java
@@ -1,4 +1,4 @@
-package de.micromata.borgbutler.jcs;
+package de.micromata.borgbutler.cache;
import de.micromata.borgbutler.config.Configuration;
import de.micromata.borgbutler.config.ConfigurationHandler;
@@ -18,6 +18,30 @@
private static final String CONFIG_FILE = "jcs-basic-config.properties";
public static final String CACHE_DIR_NAME = "cache";
+ public enum Region {DEFAULT, ARCHIVE_CONTENT}
+
+ public static JCSCache getInstance() {
+ return instance;
+ }
+
+ /**
+ * @param <K>
+ * @param <V>
+ * @return JCS cache for default region.
+ */
+ public <K, V> CacheAccess<K, V> getJCSCache() {
+ return JCS.getInstance("default");
+ }
+
+ public <K, V> CacheAccess<K, V> getJCSCache(Region region) {
+ switch (region) {
+ case ARCHIVE_CONTENT:
+ return JCS.getInstance("default");
+ default:
+ return getJCSCache();
+ }
+ }
+
private JCSCache() {
Configuration configuration = ConfigurationHandler.getConfiguration();
File cacheDir = new File(ConfigurationHandler.getInstance().getWorkingDir(), CACHE_DIR_NAME);
@@ -32,7 +56,6 @@
} catch (IOException ex) {
log.error("Error while loading jcs config file '" + CONFIG_FILE + "': " + ex.getMessage(), ex);
}
- CacheAccess<String, String> jcs = JCS.getInstance("default");
props.setProperty("jcs.auxiliary.DC.attributes.DiskPath", cacheDir.getAbsolutePath());
props.setProperty("jcs.auxiliary.DC2.attributes.DiskPath", cacheDir.getAbsolutePath());
int cacheMaxDiscSizeMB = configuration.getCacheMaxDiscSizeMB();
--
Gitblit v1.10.0