add test checking file disk is created
git-svn-id: https://svn.apache.org/repos/asf/archiva/redback/redback-components/trunk@1447470 13f79535-47bb-0310-9956-ffa450edef68
diff --git a/spring-cache-providers/spring-cache-ehcache/src/main/java/org/apache/archiva/redback/components/cache/ehcache/EhcacheCache.java b/spring-cache-providers/spring-cache-ehcache/src/main/java/org/apache/archiva/redback/components/cache/ehcache/EhcacheCache.java
index 9ec6dfb..365f961 100644
--- a/spring-cache-providers/spring-cache-ehcache/src/main/java/org/apache/archiva/redback/components/cache/ehcache/EhcacheCache.java
+++ b/spring-cache-providers/spring-cache-ehcache/src/main/java/org/apache/archiva/redback/components/cache/ehcache/EhcacheCache.java
@@ -26,7 +26,7 @@
import net.sf.ehcache.config.CacheConfiguration;
import net.sf.ehcache.config.Configuration;
import net.sf.ehcache.config.DiskStoreConfiguration;
-import net.sf.ehcache.config.PersistenceConfiguration;
+import net.sf.ehcache.config.MemoryUnit;
import net.sf.ehcache.store.MemoryStoreEvictionPolicy;
import org.apache.archiva.redback.components.cache.CacheStatistics;
import org.slf4j.Logger;
@@ -65,7 +65,7 @@
return 0.0;
}
- return (double) hits / (double) ( hits + miss );
+ return hits / ( hits + miss );
}
public long getCacheHits()
@@ -112,7 +112,7 @@
/**
*
*/
- private int maxElementsInMemory = 1000;
+ private int maxElementsInMemory = 0;
/**
*
@@ -164,6 +164,16 @@
*/
private int maxElementsOnDisk;
+ /**
+ * @since 2.1
+ */
+ //private String persistenceStrategy = PersistenceConfiguration.Strategy.LOCALTEMPSWAP.name();
+
+ /**
+ * @since 2.1
+ */
+ //private boolean synchronousWrites = false;
+
private boolean statisticsEnabled = true;
private CacheManager cacheManager = null;//CacheManager.getInstance();
@@ -199,7 +209,8 @@
}
else
{
- this.cacheManager = new CacheManager( new Configuration().name( getName() ) );
+ this.cacheManager = new CacheManager( new Configuration().name( getName() ).diskStore(
+ new DiskStoreConfiguration().path( getDiskStorePath() ) ) );
}
boolean cacheExists = cacheManager.cacheExists( getName() );
@@ -219,20 +230,28 @@
if ( !cacheExists )
{
- CacheConfiguration cacheConfiguration = new CacheConfiguration().name( getName() ).maxEntriesLocalHeap(
- getMaxElementsInMemory() ).memoryStoreEvictionPolicy( getMemoryStoreEvictionPolicy() ).eternal(
- isEternal() ).timeToLiveSeconds( getTimeToLiveSeconds() ).timeToIdleSeconds(
- getTimeToIdleSeconds() ).diskExpiryThreadIntervalSeconds(
- getDiskExpiryThreadIntervalSeconds() ).overflowToOffHeap( isOverflowToOffHeap() ).maxEntriesLocalDisk(
- getMaxElementsOnDisk() ).overflowToDisk( isOverflowToDisk() ).diskPersistent( diskPersistent );
+ CacheConfiguration cacheConfiguration =
+ new CacheConfiguration().name( getName() ).memoryStoreEvictionPolicy(
+ getMemoryStoreEvictionPolicy() ).eternal( isEternal() ).timeToLiveSeconds(
+ getTimeToLiveSeconds() ).timeToIdleSeconds(
+ getTimeToIdleSeconds() ).diskExpiryThreadIntervalSeconds(
+ getDiskExpiryThreadIntervalSeconds() ).overflowToOffHeap(
+ isOverflowToOffHeap() ).maxEntriesLocalDisk( getMaxElementsOnDisk() ).diskPersistent(
+ isDiskPersistent() ).overflowToDisk( overflowToDisk );
+
+ if ( getMaxElementsInMemory() > 0 )
+ {
+ cacheConfiguration = cacheConfiguration.maxEntriesLocalHeap( getMaxElementsInMemory() );
+ }
if ( getMaxBytesLocalHeap() > 0 )
{
- cacheConfiguration.setMaxBytesLocalHeap( getMaxBytesLocalHeap() );
+ cacheConfiguration = cacheConfiguration.maxBytesLocalHeap( getMaxBytesLocalHeap(), MemoryUnit.BYTES );
}
if ( getMaxBytesLocalOffHeap() > 0 )
{
- cacheConfiguration.setMaxBytesLocalOffHeap( getMaxBytesLocalOffHeap() );
+ cacheConfiguration =
+ cacheConfiguration.maxBytesLocalOffHeap( getMaxBytesLocalOffHeap(), MemoryUnit.BYTES );
}
ehcache = new Cache( cacheConfiguration );
@@ -503,4 +522,24 @@
this.ehcache.getCacheConfiguration().maxEntriesLocalDisk( this.maxElementsOnDisk );
}
}
+
+ /*public String getPersistenceStrategy()
+ {
+ return persistenceStrategy;
+ }
+
+ public void setPersistenceStrategy( String persistenceStrategy )
+ {
+ this.persistenceStrategy = persistenceStrategy;
+ }
+
+ public boolean isSynchronousWrites()
+ {
+ return synchronousWrites;
+ }
+
+ public void setSynchronousWrites( boolean synchronousWrites )
+ {
+ this.synchronousWrites = synchronousWrites;
+ }*/
}
diff --git a/spring-cache-providers/spring-cache-ehcache/src/test/java/org/apache/archiva/redback/components/cache/ehcache/EhcacheCacheTest.java b/spring-cache-providers/spring-cache-ehcache/src/test/java/org/apache/archiva/redback/components/cache/ehcache/EhcacheCacheTest.java
index b7ee8fe..8938c59 100644
--- a/spring-cache-providers/spring-cache-ehcache/src/test/java/org/apache/archiva/redback/components/cache/ehcache/EhcacheCacheTest.java
+++ b/spring-cache-providers/spring-cache-ehcache/src/test/java/org/apache/archiva/redback/components/cache/ehcache/EhcacheCacheTest.java
@@ -20,60 +20,66 @@
import org.apache.archiva.redback.components.cache.ehcache.EhcacheCache;
import org.apache.archiva.redback.components.cache.test.AbstractCacheTestCase;
import org.apache.archiva.redback.components.cache.test.examples.wine.Wine;
+import org.springframework.test.annotation.DirtiesContext;
import javax.inject.Inject;
import javax.inject.Named;
/**
- * EhcacheCacheTest
+ * EhcacheCacheTest
*
* @author <a href="mailto:joakim@erdfelt.com">Joakim Erdfelt</a>
- *
*/
+@DirtiesContext( classMode = DirtiesContext.ClassMode.AFTER_CLASS )
public class EhcacheCacheTest
extends AbstractCacheTestCase
{
- @Inject @Named(value = "cache#ehcache")
- Cache<String,Integer> cache;
+ @Inject
+ @Named(value = "cache#ehcache")
+ Cache<String, Integer> cache;
- @Inject @Named(value = "cache#alwaysrefresh")
- Cache<String,Wine> cachealwaysrefresh;
+ @Inject
+ @Named(value = "cache#alwaysrefresh")
+ Cache<String, Wine> cachealwaysrefresh;
- @Inject @Named(value = "cache#onesecondrefresh")
- Cache<String,Wine> cacheonesecondrefresh;
+ @Inject
+ @Named(value = "cache#onesecondrefresh")
+ Cache<String, Wine> cacheonesecondrefresh;
- @Inject @Named(value = "cache#onesecondrefresh")
- Cache<String,Wine> cachetwosecondrefresh;
+ @Inject
+ @Named(value = "cache#onesecondrefresh")
+ Cache<String, Wine> cachetwosecondrefresh;
- @Inject @Named(value = "cache#neverrefresh")
- Cache<String,Wine> cacheneversecondrefresh;
+ @Inject
+ @Named(value = "cache#neverrefresh")
+ Cache<String, Wine> cacheneversecondrefresh;
@Override
- public Cache<String,Integer> getCache()
+ public Cache<String, Integer> getCache()
{
return cache;
}
- public Cache<String,Wine> getAlwaysRefresCache()
+ public Cache<String, Wine> getAlwaysRefresCache()
throws Exception
{
return cachealwaysrefresh;
}
- public Cache<String,Wine> getNeverRefresCache()
+ public Cache<String, Wine> getNeverRefresCache()
throws Exception
{
return cacheneversecondrefresh;
}
- public Cache<String,Wine> getOneSecondRefresCache()
+ public Cache<String, Wine> getOneSecondRefresCache()
throws Exception
{
return cacheonesecondrefresh;
}
- public Cache<String,Wine> getTwoSecondRefresCache()
+ public Cache<String, Wine> getTwoSecondRefresCache()
throws Exception
{
return cachetwosecondrefresh;