in src/main/java/com/aliyuncs/kms/secretsmanager/client/SecretCacheClient.java [239:251]
private void addRefreshTask(String secretName, Runnable runnable) throws CacheSecretException {
CacheSecretInfo cacheSecretInfo = cacheSecretStoreStrategy.getCacheSecretInfo(secretName);
long executeTime = refreshSecretStrategy.parseNextExecuteTime(cacheSecretInfo);
if (executeTime <= 0) {
long refreshTimestamp = cacheSecretInfo.getRefreshTimestamp();
executeTime = refreshSecretStrategy.getNextExecuteTime(secretName, secretTTLMap.getOrDefault(secretName, DEFAULT_TTL), refreshTimestamp);
executeTime = Math.max(executeTime, System.currentTimeMillis());
}
nextExecuteTimeMap.put(secretName, executeTime);
ScheduledFuture<?> schedule = scheduledThreadPoolExecutor.schedule(runnable, executeTime - System.currentTimeMillis(), TimeUnit.MILLISECONDS);
scheduledFutureMap.put(secretName, schedule);
CommonLogger.getCommonLogger(CacheClientConstant.MODE_NAME).infof("secretName:{} addRefreshTask success", secretName);
}