From cc993d8e657152e3f27f26197c34433823cb0942 Mon Sep 17 00:00:00 2001 From: zhaojun1998 Date: Sun, 5 Jan 2020 15:56:17 +0800 Subject: [PATCH] =?UTF-8?q?:sparkles:=20=E4=BC=98=E5=8C=96=E7=BC=93?= =?UTF-8?q?=E5=AD=98=E7=AD=96=E7=95=A5,=20=E5=BC=80=E5=90=AF/=E5=85=B3?= =?UTF-8?q?=E9=97=AD=E7=BC=93=E5=AD=98=E5=90=8E=E5=90=8C=E6=AD=A5=E6=8E=A7?= =?UTF-8?q?=E5=88=B6=E8=87=AA=E5=8A=A8=E5=88=B7=E6=96=B0=E7=AD=96=E7=95=A5?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../zhaojun/common/service/AbstractFileService.java | 11 +++++++++++ .../zhaojun/common/service/SystemConfigService.java | 7 +++++-- 2 files changed, 16 insertions(+), 2 deletions(-) diff --git a/src/main/java/im/zhaojun/common/service/AbstractFileService.java b/src/main/java/im/zhaojun/common/service/AbstractFileService.java index 4c677ba..6bee34f 100644 --- a/src/main/java/im/zhaojun/common/service/AbstractFileService.java +++ b/src/main/java/im/zhaojun/common/service/AbstractFileService.java @@ -1,6 +1,7 @@ package im.zhaojun.common.service; import com.alicp.jetcache.Cache; +import com.alicp.jetcache.RefreshPolicy; import com.alicp.jetcache.anno.CacheRefresh; import com.alicp.jetcache.anno.CacheType; import com.alicp.jetcache.anno.Cached; @@ -65,6 +66,7 @@ public abstract class AbstractFileService implements FileService { public void clearCache() throws Exception { Set cacheKeys = getCacheKeys(); cache.removeAll(cacheKeys); + closeCacheAutoRefresh(); fileAsyncCacheService.setCacheFinish(false); } @@ -180,4 +182,13 @@ public abstract class AbstractFileService implements FileService { currentFileService.fileList(key); } + public void closeCacheAutoRefresh() { + cache.config().setRefreshPolicy(null); + } + + public void openCacheAutoRefresh() { + RefreshPolicy refreshPolicy = RefreshPolicy.newPolicy(1, TimeUnit.MINUTES); + cache.config().setRefreshPolicy(refreshPolicy); + } + } diff --git a/src/main/java/im/zhaojun/common/service/SystemConfigService.java b/src/main/java/im/zhaojun/common/service/SystemConfigService.java index b9b6a54..d55ad81 100644 --- a/src/main/java/im/zhaojun/common/service/SystemConfigService.java +++ b/src/main/java/im/zhaojun/common/service/SystemConfigService.java @@ -136,14 +136,17 @@ public class SystemConfigService { systemConfigRepository.saveAll(systemConfigList); + AbstractFileService currentFileService = getCurrentFileService(); + if (!oldEnableCache && curEnableCache) { log.debug("检测到开启了缓存, 开启预热缓存"); + currentFileService.openCacheAutoRefresh(); fileAsyncCacheService.cacheGlobalFile(); } if (oldEnableCache && !curEnableCache) { - log.debug("检测到关闭了缓存, 正在清理缓存数据"); - getCurrentFileService().clearCache(); + log.debug("检测到关闭了缓存, 正在清理缓存数据及关闭自动刷新"); + currentFileService.clearCache(); } }