Google Guava Cache文档指出:如何处理Google Guava Cache刷新异常?
刷新与驱逐不完全相同。正如LoadingCache.refresh(K)中所指定的那样,刷新密钥可能会异步地加载密钥的新值。旧的值(如果有的话)在键被刷新时仍然返回,与驱逐相反,这会迫使检索等待直到重新加载该值。
如果在刷新时抛出异常,则保留旧值,并且 异常会被记录并吞下。
在我的使用情况中,这种记录和吞吐异常真的很糟糕,因为这意味着如果刷新抛出一个异常,缓存的用户将继续在Cache中找到陈旧的数据。
如何确保在刷新时引发异常缓存开始返回null或调用加载方法?