public SecretInfo getSecretInfo()

in src/main/java/com/aliyuncs/kms/secretsmanager/client/SecretCacheClient.java [66:85]


    public SecretInfo getSecretInfo(final String secretName) throws CacheSecretException {
        if (StringUtils.isEmpty(secretName)) {
            throw new IllegalArgumentException("the argument[secretName] must not be null");
        }
        CacheSecretInfo cacheSecretInfo = this.cacheSecretStoreStrategy.getCacheSecretInfo(secretName);
        if (checkCacheSecretInfoIsValid(cacheSecretInfo)) {
            return cacheHook.get(cacheSecretInfo);
        } else {
            synchronized (secretName.intern()) {
                cacheSecretInfo = this.cacheSecretStoreStrategy.getCacheSecretInfo(secretName);
                if (checkCacheSecretInfoIsValid(cacheSecretInfo)) {
                    return cacheHook.get(cacheSecretInfo);
                } else {
                    SecretInfo secretInfo = getSecretValue(secretName);
                    storeAndRefresh(secretName, secretInfo);
                    return cacheHook.put(secretInfo) == null ? null : cacheHook.put(secretInfo).getSecretInfo();
                }
            }
        }
    }