看到解释比较认可的讲解链接:https://www.jianshu.com/p/aeb391e4edb0
实际的使用:
public static ScheduledExecutorService executorService = Executors.newScheduledThreadPool(3);
private static LocalCacheService cacheService = new LocalCacheService();
// Every two hours refresh
public void triggerFresh() {
String pUmpKey = appConfig.getUmp_key_prefix() + ".LocalCacheRefreshSchedule.triggerFresh";
CallerInfo info = Profiler.registerInfo(pUmpKey, appConfig.getAppName(), false, true);
try {
executorService.scheduleAtFixedRate(new Runnable() {
@Override
public void run() {
cacheService.constructBackupDataByDoudiPin();
cacheService.writeToLocalFile();
}
}, 0, 3, TimeUnit.HOURS);
} catch (Exception e) {
log.error("LocalCacheRefreshSchedule triggerFresh Error:{}", e);
Profiler.functionError(info);
} finally {
Profiler.registerInfoEnd(info);
}
}
本文介绍了一个使用ScheduledExecutorService实现的定时任务,该任务每两小时触发一次,用于刷新本地缓存。通过构造备份数据并写入本地文件,确保数据的最新性和可用性。
640

被折叠的 条评论
为什么被折叠?



