Bug描述
使用guava cache过程中key过期不会主动刷新的bug
影响结果:首页Icon,App为空白
造成原因:guava cache key过期后的size还在,用CollectionUtils.isEmpty()判断导致不会重新设置缓存
临时解决方案:去除缓存过期时间,判断缓存是否有效采用采样判断
问题源码
/**
* cache
*/
private final Cache<Integer, Integer> cacheMap = CacheBuilder.newBuilder()
.maximumSize(1024)
.expireAfterWrite(3, TimeUnit.HOURS)
.build();
public Map<Integer, Integer> getCache() {
ConcurrentMap<Integer, Integer> map = cacheMap.asMap();
if (MapUtil.isEmpty(map