adaptive-caching-framework
Changes
framework/autonomicmanager/README.md 0(+0 -0)
framework/autonomicmanager/src/main/java/br/ufrgs/inf/prosoft/adaptivecaching/cachemanager/model/support/AbstractValueAdaptingCache.java 8(+5 -3)
framework/autonomicmanager/src/main/java/br/ufrgs/inf/prosoft/adaptivecaching/cachemanager/model/support/CompositeCacheManager.java 2(+1 -1)
framework/autonomicmanager/src/main/java/br/ufrgs/inf/prosoft/adaptivecaching/cachemanager/model/support/NoOpCacheManager.java 5(+3 -2)
framework/autonomicmanager/src/main/java/br/ufrgs/inf/prosoft/adaptivecaching/cachemanager/model/support/NullValue.java 4(+2 -2)
framework/autonomicmanager/src/main/java/br/ufrgs/inf/prosoft/adaptivecaching/cachemanager/model/support/SimpleCacheManager.java 3(+2 -1)
framework/autonomicmanager/src/main/java/br/ufrgs/inf/prosoft/adaptivecaching/cachemanager/model/support/SimpleValueWrapper.java 4(+3 -1)
framework/autonomicmanager/src/main/java/br/ufrgs/inf/prosoft/adaptivecaching/cachemanager/model/ValueWrapper.java 2(+1 -1)
framework/autonomicmanager/src/main/java/br/ufrgs/inf/prosoft/adaptivecaching/cachemanager/util/CacheManagerFactory.java 63(+63 -0)
framework/autonomicmanager/src/main/java/br/ufrgs/inf/prosoft/adaptivecaching/cachemanager/util/support/AbstractCacheManager.java 194(+0 -194)
framework/autonomicmanager/src/main/java/br/ufrgs/inf/prosoft/adaptivecaching/configuration/annotation/Uncacheable.java 2(+1 -1)
framework/autonomicmanager/src/main/java/br/ufrgs/inf/prosoft/adaptivecaching/exceptions/CacheProviderException.java 7(+7 -0)
framework/autonomicmanager/src/main/java/br/ufrgs/inf/prosoft/adaptivecaching/exceptions/ConfigurationException.java 16(+16 -0)
framework/autonomicmanager/src/main/java/br/ufrgs/inf/prosoft/adaptivecaching/exceptions/StorageException.java 12(+12 -0)
framework/autonomicmanager/src/main/java/br/ufrgs/inf/prosoft/adaptivecaching/monitoring/application/usersession/AnonymousUserGetter.java 2(+1 -1)
framework/autonomicmanager/src/main/java/br/ufrgs/inf/prosoft/adaptivecaching/monitoring/application/usersession/SpringUserGetter.java 2(+1 -1)
framework/autonomicmanager/src/main/java/br/ufrgs/inf/prosoft/adaptivecaching/monitoring/application/usersession/UserGetter.java 2(+1 -1)
framework/autonomicmanager/src/main/java/br/ufrgs/inf/prosoft/adaptivecaching/monitoring/application/usersession/UserGetterFactory.java 7(+7 -0)
Details
framework/autonomicmanager/README.md 0(+0 -0)
diff --git a/framework/autonomicmanager/README.md b/framework/autonomicmanager/README.md
new file mode 100644
index 0000000..e69de29
--- /dev/null
+++ b/framework/autonomicmanager/README.md
diff --git a/framework/autonomicmanager/src/main/java/br/ufrgs/inf/prosoft/adaptivecaching/cachemanager/util/CacheManagerFactory.java b/framework/autonomicmanager/src/main/java/br/ufrgs/inf/prosoft/adaptivecaching/cachemanager/util/CacheManagerFactory.java
new file mode 100644
index 0000000..22dea02
--- /dev/null
+++ b/framework/autonomicmanager/src/main/java/br/ufrgs/inf/prosoft/adaptivecaching/cachemanager/util/CacheManagerFactory.java
@@ -0,0 +1,63 @@
+package br.ufrgs.inf.prosoft.adaptivecaching.cachemanager.util;
+
+import br.ufrgs.inf.prosoft.adaptivecaching.cachemanager.extensions.ehcache.EhCacheCacheManager;
+import br.ufrgs.inf.prosoft.adaptivecaching.cachemanager.extensions.guava.GuavaCacheManager;
+import br.ufrgs.inf.prosoft.adaptivecaching.cachemanager.model.CacheManager;
+import br.ufrgs.inf.prosoft.adaptivecaching.configuration.annotation.types.CacheProviderType;
+import br.ufrgs.inf.prosoft.adaptivecaching.exceptions.CacheProviderException;
+import net.sf.ehcache.config.CacheConfiguration;
+import net.sf.ehcache.config.PersistenceConfiguration;
+import net.sf.ehcache.management.ManagementService;
+import net.sf.ehcache.store.MemoryStoreEvictionPolicy;
+import org.slf4j.Logger;
+import org.slf4j.LoggerFactory;
+
+import javax.management.MBeanServer;
+import java.lang.management.ManagementFactory;
+
+public class CacheManagerFactory {
+ static Logger logger = LoggerFactory.getLogger(CacheManagerFactory.class);
+
+ public static CacheManager getCacheManager(CacheProviderType cacheProviderType) {
+ switch (cacheProviderType) {
+ case GUAVA:
+ logger.debug("Cache provider is configured to Guava.");
+ return new GuavaCacheManager();
+// case MEMCACHED:
+// break;
+// case REDIS:
+ //redis cache manager
+// JedisConnectionFactory cf = new JedisConnectionFactory();
+// cf.setHostName("127.0.0.1");
+// cf.setPort(6379);
+// RedisTemplate<String, String> redisTemplate = new RedisTemplate<String, String>();
+// redisTemplate.setConnectionFactory(cf);
+// RedisCacheManager redisCacheManager = new RedisCacheManager(redisTemplate);
+// redisCacheManager.setDefaultExpiration(300);
+// this.cacheManager = redisCacheManager;
+// this.cache = redisCacheManager.getCache("test");
+// break;
+// case CAFFEINE:
+// break;
+ case EHCACHE:
+ logger.debug("Cache provider is configured to EhCache.");
+ net.sf.ehcache.CacheManager cm = net.sf.ehcache.CacheManager.newInstance();
+
+ //monitoring hit and miss ratio:
+ MBeanServer mBeanServer = ManagementFactory.getPlatformMBeanServer();
+ ManagementService.registerMBeans(cm, mBeanServer, false, false, false, true);
+
+ //Create a Cache specifying its configuration.
+ net.sf.ehcache.Cache adaptiveCache = new net.sf.ehcache.Cache(
+ new CacheConfiguration("adaptivecaching", 10000)
+ .memoryStoreEvictionPolicy(MemoryStoreEvictionPolicy.LRU)
+ .eternal(true)
+ .overflowToOffHeap(false)
+ .persistence(new PersistenceConfiguration().strategy(PersistenceConfiguration.Strategy.NONE)));
+ cm.addCache(adaptiveCache);
+ return new EhCacheCacheManager(cm);
+ default:
+ throw new CacheProviderException("The specified cache manager [" + cacheProviderType + "] does not have an available implementation.");
+ }
+ }
+}
diff --git a/framework/autonomicmanager/src/main/java/br/ufrgs/inf/prosoft/adaptivecaching/exceptions/CacheProviderException.java b/framework/autonomicmanager/src/main/java/br/ufrgs/inf/prosoft/adaptivecaching/exceptions/CacheProviderException.java
new file mode 100644
index 0000000..b54f147
--- /dev/null
+++ b/framework/autonomicmanager/src/main/java/br/ufrgs/inf/prosoft/adaptivecaching/exceptions/CacheProviderException.java
@@ -0,0 +1,7 @@
+package br.ufrgs.inf.prosoft.adaptivecaching.exceptions;
+
+/**
+ * Created by jhonnymertz on 04/06/17.
+ */
+public class CacheProviderException {
+}
diff --git a/framework/autonomicmanager/src/main/java/br/ufrgs/inf/prosoft/adaptivecaching/exceptions/ConfigurationException.java b/framework/autonomicmanager/src/main/java/br/ufrgs/inf/prosoft/adaptivecaching/exceptions/ConfigurationException.java
new file mode 100644
index 0000000..dfb73b0
--- /dev/null
+++ b/framework/autonomicmanager/src/main/java/br/ufrgs/inf/prosoft/adaptivecaching/exceptions/ConfigurationException.java
@@ -0,0 +1,16 @@
+package br.ufrgs.inf.prosoft.adaptivecaching.exceptions;
+
+public class ConfigurationException extends RuntimeException {
+
+ public ConfigurationException(String message, Throwable cause) {
+ super(message, cause);
+ }
+
+ public ConfigurationException(Throwable cause) {
+ super(cause);
+ }
+
+ public ConfigurationException(String message) {
+ super(message);
+ }
+}
diff --git a/framework/autonomicmanager/src/main/java/br/ufrgs/inf/prosoft/adaptivecaching/exceptions/StorageException.java b/framework/autonomicmanager/src/main/java/br/ufrgs/inf/prosoft/adaptivecaching/exceptions/StorageException.java
new file mode 100644
index 0000000..9fef947
--- /dev/null
+++ b/framework/autonomicmanager/src/main/java/br/ufrgs/inf/prosoft/adaptivecaching/exceptions/StorageException.java
@@ -0,0 +1,12 @@
+package br.ufrgs.inf.prosoft.adaptivecaching.exceptions;
+
+public class StorageException extends RuntimeException {
+
+ public StorageException(String message, Throwable cause) {
+ super(message, cause);
+ }
+
+ public StorageException(Throwable cause) {
+ super(cause);
+ }
+}
diff --git a/framework/autonomicmanager/src/main/java/br/ufrgs/inf/prosoft/adaptivecaching/monitoring/application/usersession/UserGetterFactory.java b/framework/autonomicmanager/src/main/java/br/ufrgs/inf/prosoft/adaptivecaching/monitoring/application/usersession/UserGetterFactory.java
new file mode 100644
index 0000000..4f398f3
--- /dev/null
+++ b/framework/autonomicmanager/src/main/java/br/ufrgs/inf/prosoft/adaptivecaching/monitoring/application/usersession/UserGetterFactory.java
@@ -0,0 +1,7 @@
+package br.ufrgs.inf.prosoft.adaptivecaching.monitoring.application.usersession;
+
+/**
+ * Created by jhonnymertz on 05/06/17.
+ */
+public class UserGetterFactory {
+}
diff --git a/framework/autonomicmanager/src/main/java/br/ufrgs/inf/prosoft/adaptivecaching/monitoring/cache/CacheMonitorFactory.java b/framework/autonomicmanager/src/main/java/br/ufrgs/inf/prosoft/adaptivecaching/monitoring/cache/CacheMonitorFactory.java
new file mode 100644
index 0000000..33cead8
--- /dev/null
+++ b/framework/autonomicmanager/src/main/java/br/ufrgs/inf/prosoft/adaptivecaching/monitoring/cache/CacheMonitorFactory.java
@@ -0,0 +1,7 @@
+package br.ufrgs.inf.prosoft.adaptivecaching.monitoring.cache;
+
+/**
+ * Created by jhonnymertz on 04/06/17.
+ */
+public class CacheMonitorFactory {
+}
diff --git a/framework/autonomicmanager/src/main/java/br/ufrgs/inf/prosoft/adaptivecaching/monitoring/storage/RepositoryFactory.java b/framework/autonomicmanager/src/main/java/br/ufrgs/inf/prosoft/adaptivecaching/monitoring/storage/RepositoryFactory.java
new file mode 100644
index 0000000..240cdf1
--- /dev/null
+++ b/framework/autonomicmanager/src/main/java/br/ufrgs/inf/prosoft/adaptivecaching/monitoring/storage/RepositoryFactory.java
@@ -0,0 +1,7 @@
+package br.ufrgs.inf.prosoft.adaptivecaching.monitoring.storage;
+
+/**
+ * Created by jhonnymertz on 04/06/17.
+ */
+public class RepositoryFactory {
+}