in jetcache-anno/src/main/java/com/alicp/jetcache/anno/field/CreateCacheWrapper.java [54:84]
private void init() {
GlobalCacheConfig globalCacheConfig = beanFactory.getBean(GlobalCacheConfig.class);
ConfigProvider configProvider = beanFactory.getBean(ConfigProvider.class);
CacheManager cacheManager = beanFactory.getBean(CacheManager.class);
if (cacheManager == null) {
logger.error("There is no cache manager instance in spring context");
}
CachedAnnoConfig cac = new CachedAnnoConfig();
cac.setArea(ann.area());
cac.setName(ann.name());
cac.setTimeUnit(ann.timeUnit());
cac.setExpire(ann.expire());
cac.setLocalExpire(ann.localExpire());
cac.setCacheType(ann.cacheType());
cac.setSyncLocal(ann.syncLocal());
cac.setLocalLimit(ann.localLimit());
cac.setSerialPolicy(ann.serialPolicy());
cac.setKeyConvertor(ann.keyConvertor());
cac.setRefreshPolicy(refreshPolicy);
cac.setPenetrationProtectConfig(protectConfig);
String cacheName = cac.getName();
if (CacheConsts.isUndefined(cacheName)) {
String[] hiddenPackages = globalCacheConfig.getHiddenPackages();
CacheNameGenerator g = configProvider.createCacheNameGenerator(hiddenPackages);
cacheName = g.generateCacheName(field);
}
cache = configProvider.newContext(cacheManager).__createOrGetCache(cac, ann.area(), cacheName);
}