package net.pechorina.kontempl.config;
import net.sf.ehcache.config.CacheConfiguration;
import org.springframework.cache.CacheManager;
import org.springframework.cache.annotation.EnableCaching;
import org.springframework.cache.ehcache.EhCacheCacheManager;
import org.springframework.context.annotation.Bean;
import org.springframework.context.annotation.Configuration;
@Configuration
@EnableCaching
public class CacheConfig {
@Bean(destroyMethod="shutdown")
public net.sf.ehcache.CacheManager ehCacheManager() {
net.sf.ehcache.config.Configuration config = new net.sf.ehcache.config.Configuration();
CacheConfiguration pageCache = new CacheConfiguration();
pageCache.setName("pageCache");
pageCache.setTimeToLiveSeconds(864000);
pageCache.setMaxEntriesLocalHeap(1000);
config.addCache(pageCache);
CacheConfiguration siteCache = new CacheConfiguration();
siteCache.setName("siteCache");
siteCache.setTimeToLiveSeconds(864000);
siteCache.setMaxEntriesLocalHeap(10);
config.addCache(siteCache);
CacheConfiguration treeCache = new CacheConfiguration();
treeCache.setName("treeCache");
treeCache.setTimeToLiveSeconds(864000);
treeCache.setMaxEntriesLocalHeap(10);
config.addCache(treeCache);
return net.sf.ehcache.CacheManager.newInstance(config);
}
@Bean
public CacheManager cacheManager() {
return new EhCacheCacheManager(ehCacheManager());
}
// @Bean
// public KeyGenerator keyGenerator() {
// return new SimpleKeyGenerator();
// }
}