in jetcache-anno/src/main/java/com/alicp/jetcache/anno/support/CacheContext.java [50:74]
private Cache createOrGetCache(CacheInvokeContext invokeContext, CacheAnnoConfig cacheAnnoConfig, ConfigMap configMap) {
Cache cache = cacheAnnoConfig.getCache();
if (cache != null) {
return cache;
}
if (cacheAnnoConfig instanceof CachedAnnoConfig) {
cache = createCacheByCachedConfig((CachedAnnoConfig) cacheAnnoConfig, invokeContext);
} else if ((cacheAnnoConfig instanceof CacheInvalidateAnnoConfig) || (cacheAnnoConfig instanceof CacheUpdateAnnoConfig)) {
cache = cacheManager.getCache(cacheAnnoConfig.getArea(), cacheAnnoConfig.getName());
if (cache == null) {
CachedAnnoConfig cac = configMap.getByCacheName(cacheAnnoConfig.getArea(), cacheAnnoConfig.getName());
if (cac == null) {
String message = "can't find cache definition with area=" + cacheAnnoConfig.getArea()
+ " name=" + cacheAnnoConfig.getName() +
", specified in " + cacheAnnoConfig.getDefineMethod();
CacheConfigException e = new CacheConfigException(message);
logger.error("Cache operation aborted because can't find cached definition", e);
return null;
}
cache = createCacheByCachedConfig(cac, invokeContext);
}
}
cacheAnnoConfig.setCache(cache);
return cache;
}