All Downloads are FREE. Search and download functionalities are using the official Maven repository.

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