in jetcache-anno/src/main/java/com/alicp/jetcache/anno/support/CacheContext.java [88:118]
public Cache __createOrGetCache(CachedAnnoConfig cac, String area, String cacheName) {
QuickConfig.Builder b = QuickConfig.newBuilder(area, cacheName);
TimeUnit timeUnit = cac.getTimeUnit();
if (cac.getExpire() > 0) {
b.expire(Duration.ofMillis(timeUnit.toMillis(cac.getExpire())));
}
if (cac.getLocalExpire() > 0) {
b.localExpire(Duration.ofMillis(timeUnit.toMillis(cac.getLocalExpire())));
}
if (cac.getLocalLimit() > 0) {
b.localLimit(cac.getLocalLimit());
}
b.cacheType(cac.getCacheType());
b.syncLocal(cac.isSyncLocal());
if (!CacheConsts.isUndefined(cac.getKeyConvertor())) {
b.keyConvertor(configProvider.parseKeyConvertor(cac.getKeyConvertor()));
}
if (!CacheConsts.isUndefined(cac.getSerialPolicy())) {
b.valueEncoder(configProvider.parseValueEncoder(cac.getSerialPolicy()));
b.valueDecoder(configProvider.parseValueDecoder(cac.getSerialPolicy()));
}
b.cacheNullValue(cac.isCacheNullValue());
b.useAreaInPrefix(globalCacheConfig.isAreaInCacheName());
PenetrationProtectConfig ppc = cac.getPenetrationProtectConfig();
if (ppc != null) {
b.penetrationProtect(ppc.isPenetrationProtect());
b.penetrationProtectTimeout(ppc.getPenetrationProtectTimeout());
}
b.refreshPolicy(cac.getRefreshPolicy());
return cacheManager.getOrCreateCache(b.build());
}