use of lucee.commons.io.cache.Cache in project Lucee by lucee.
the class CacheUtil method getDefault.
/**
* get the default cache for a certain type, also check definitions in application context (application . cfc/cfapplication)
* @param pc current PageContext
* @param type default type -> Config.CACHE_DEFAULT_...
* @return matching cache
* @throws IOException
*/
public static Cache getDefault(PageContext pc, int type) throws IOException {
// get default from application conetxt
String name = pc != null ? pc.getApplicationContext().getDefaultCacheName(type) : null;
if (!StringUtil.isEmpty(name)) {
Cache cc = getCache(pc, name, null);
if (cc != null)
return cc;
}
// get default from config
Config config = ThreadLocalPageContext.getConfig(pc);
CacheConnection cc = ((ConfigImpl) config).getCacheDefaultConnection(type);
if (cc == null)
throw new CacheException("there is no default " + toStringType(type, "") + " cache defined, you need to define this default cache in the Lucee Administrator");
return cc.getInstance(config);
}
use of lucee.commons.io.cache.Cache in project Lucee by lucee.
the class CacheUtil method getDefault.
/**
* get the default cache for a certain type, also check definitions in application context (application . cfc/cfapplication)
* @param pc current PageContext
* @param type default type -> Config.CACHE_DEFAULT_...
* @param defaultValue value returned when there is no default cache for this type
* @return matching cache
*/
public static Cache getDefault(PageContext pc, int type, Cache defaultValue) {
// get default from application conetx
String name = null;
if (pc != null && pc.getApplicationContext() != null)
name = pc.getApplicationContext().getDefaultCacheName(type);
Config config = ThreadLocalPageContext.getConfig(pc);
if (!StringUtil.isEmpty(name)) {
Cache cc = getCache(pc, name, null);
if (cc != null)
return cc;
}
// get default from config
CacheConnection cc = ((ConfigImpl) config).getCacheDefaultConnection(type);
if (cc == null)
return defaultValue;
try {
return cc.getInstance(config);
} catch (Throwable t) {
ExceptionUtil.rethrowIfNecessary(t);
return defaultValue;
}
}
use of lucee.commons.io.cache.Cache in project Lucee by lucee.
the class TimespanCacheHandler method getCache.
private Cache getCache(PageContext pc) {
Cache cache = CacheUtil.getDefault(pc, cacheType, null);
if (cache == null) {
if (defaultCache == null) {
RamCache rm = new RamCache().init(0, 0, RamCache.DEFAULT_CONTROL_INTERVAL);
rm.decouple();
defaultCache = rm;
}
return defaultCache;
}
if (cache instanceof CachePro)
return ((CachePro) cache).decouple();
return cache;
}
use of lucee.commons.io.cache.Cache in project Lucee by lucee.
the class CacheResourceProvider method touch.
void touch(String path, String name) throws IOException {
Cache cache = getCache();
CacheEntry ce = cache.getCacheEntry(toKey(path, name), null);
if (ce != null) {
cache.put(ce.getKey(), ce.getValue(), ce.idleTimeSpan(), ce.liveTimeSpan());
}
}
Aggregations