com.google.common.cache.CacheLoader$InvalidCacheLoadException原因分析
(2015-11-03 16:43:49)
标签:
itcacheloaderguavainvalidcacheloadexce |
分类: 原创 |
问题描述
Java代码
-
com.google.common.cache.CacheLoader$InvalidCacheLoadExceptio
n: CacheLoader returned null for key 50816009. -
at com.google.common.cache.LocalCache$Segment.getAndRecordStats(LocalCache.java:2346) -
at com.google.common.cache.LocalCache$Segment.loadSync(LocalCache.java:2316) -
at com.google.common.cache.LocalCache$Segment.lockedGetOrLoad(LocalCache.java:2278) -
at com.google.common.cache.LocalCache$Segment.get(LocalCache.java:2193) -
at com.google.common.cache.LocalCache.get(LocalCache.java:3932) -
at com.google.common.cache.LocalCache.getOrLoad(LocalCache.java:3936) -
at com.google.common.cache.LocalCache$LocalLoadingCache.get(LocalCache.java:4806)
Java代码
-
-
private LoadingCache queryByCategoryIdCache = CacheBuilder.newBuilder().refreshAfterWrite(CacheConstants.SERVICE_INFO_CACHE_REFRESH_TIME, TimeUnit.SECONDS) -
.maximumSize(CacheConstants.MAX_SIZE_PER_CACHE).build(new CacheLoader() { -
public ServiceInfo load(Long categoryId) { -
return getServiceInfoByCategory Id(categoryId); -
} -
});
Java代码
-
@Override
-
public ServiceInfo getServiceInfoByCategory IdWithCache(long categoryId, boolean withCache) { -
if (withCache) { -
try { -
return queryByCategoryIdCache.get(categoryId); -
} catch (Throwable t) { -
logger.error("query serviceInfo ,exception" t); -
return null; -
} -
} else { -
return getServiceInfoByCategory Id(categoryId); -
} -
}
原因分析
Java代码
-
@Override
-
public ServiceInfo getServiceInfoByCategory IdWithCache(long categoryId, boolean withCache) { -
if (withCache) { -
try { -
return queryByCategoryIdCache.get(categoryId); -
} catch (Throwable t) { -
return null; -
} -
} else { -
return getServiceInfoByCategory Id(categoryId); -
} -
}
前一篇:Java实现观察者设计模式
后一篇:多肉白牡丹介绍及养法