我有一個客戶端通過令牌提供對apis的訪問。他們不是OAuth令牌。只需一個簡單的http獲取請求來獲取令牌。此令牌過期,我們可以在此之前刷新以獲取新令牌。我正在考慮使用Google LoadingCache執行此操作,如果不爲null,則獲取該標記,否則將向客戶端發送請求以獲取該標記。但是,當值爲空時會發生這種情況。 (在我的情況下,第一次)之後,我只需要定期刷新它到期之前。使用加載緩存有意義嗎?或者有沒有其他方法可以實現這一目標? 此外,如果它這樣做是我想的方法---我希望它調用一個函數/方法刷新令牌。我不確定是否重載load方法只會在null或每次刷新/過期時調用。緩存在到期/刷新時是否會清空?我可以使用以前的令牌刷新令牌。所以我需要緩存中的值來發送請求。下面是我在想什麼正在調用LoadingCache刷新方法
private static LoadingCache<String, Optional<String>> cache = CacheBuilder.newBuilder()
.build(new CacheLoader<String, Optional<String>>() {
@Override
public Optional<String> load(String key) throws Exception {
return Optional.fromNullable(refreshToken(key));
}
});
我想我需要知道,如果在緩存過期時相同的負載方法將被調用?