in src/main/java/com/aliyuncs/kms/secretsmanager/client/SecretCacheClient.java [331:370]
public void run() {
while (!Thread.currentThread().isInterrupted()) {
Set<String> secretNames = nextExecuteTimeMap.keySet();
if (secretNames != null && !secretNames.isEmpty()) {
for (String secretName : secretNames) {
try {
CacheSecretInfo cacheSecretInfo = cacheSecretStoreStrategy.getCacheSecretInfo(secretName);
if (cacheSecretInfo != null) {
Long nextExecuteTime = nextExecuteTimeMap.get(secretName);
if (System.currentTimeMillis() > nextExecuteTime + CacheClientConstant.REQUEST_WAITING_TIME) {
CommonLogger.getCommonLogger(CacheClientConstant.MODE_NAME).warnf("MonitorRefreshSecretTask secret is expired, secretName={}", secretName);
try {
refreshNow(secretName);
} catch (Throwable e) {
CommonLogger.getCommonLogger(CacheClientConstant.MODE_NAME).errorf("MonitorRefreshSecretTask refreshNow error, secretName={}", secretName, e);
}
}
} else {
CommonLogger.getCommonLogger(CacheClientConstant.MODE_NAME).warnf("MonitorRefreshSecretTask can not get cache secret, secretName={}", secretName);
try {
refreshNow(secretName);
} catch (Throwable e) {
CommonLogger.getCommonLogger(CacheClientConstant.MODE_NAME).errorf("MonitorRefreshSecretTask refreshNow error, secretName={}", secretName, e);
}
}
} catch (Throwable e) {
CommonLogger.getCommonLogger(CacheClientConstant.MODE_NAME).errorf("MonitorRefreshSecretTask error, secretName={}", secretName, e);
}
}
}
try {
Thread.sleep(CacheClientConstant.MONITOR_INTERVAL);
}catch (InterruptedException e){
Thread.currentThread().interrupt();
break;
}catch (Throwable e) {
CommonLogger.getCommonLogger(CacheClientConstant.MODE_NAME).errorf("MonitorRefreshSecretTask sleep error", e);
}
}
}