com.rustknife.jknife.cache.AppEhCacheCacheManager Maven / Gradle / Ivy
The newest version!
package com.rustknife.jknife.cache;
import net.sf.ehcache.Ehcache;
import org.springframework.cache.Cache;
import org.springframework.cache.ehcache.EhCacheCache;
import org.springframework.cache.ehcache.EhCacheCacheManager;
/**
* EhCacheCacheManager 扩展类,自动创建未在配置文件中配置的 cache
* yoke 2018-05-20
*/
public class AppEhCacheCacheManager extends EhCacheCacheManager {
public AppEhCacheCacheManager(net.sf.ehcache.CacheManager cacheManager){
super(cacheManager);
}
@Override
protected Cache getMissingCache(String name) {
// Check the EhCache cache again (in case the cache was added at runtime)
Ehcache ehcache = getCacheManager().getEhcache(name);
if (ehcache != null) {
return new EhCacheCache(ehcache);
}
if (name == null || name.length() == 0)
return null;
ehcache = getCacheManager().addCacheIfAbsent(name);
//ehcache.getCacheConfiguration().setEternal(false);
//ehcache.getCacheConfiguration().setTimeToLiveSeconds(20);
//ehcache.getCacheConfiguration().setTimeToIdleSeconds(10);
if(ehcache != null)
return new EhCacheCache(ehcache);
else
return null;
}
}
© 2015 - 2025 Weber Informatics LLC | Privacy Policy