如何围绕我的Ehcache尝试捕捉尝试确保它已正确启动?
答案 0 :(得分:2)
您可以编写使用CacheManager检查缓存状态的包装器方法,例如
/**
*
* @return true if Caching system is live otherwise false
*/
public boolean isAlive()
{
return net.sf.ehcache.Status.STATUS_ALIVE == cacheManager.getStatus();
}
您始终可以将缓存调用包装为
public Object getVal(Object aKey, Object aDefaultValue)
{
Element element = null;
if (Util.isAlive())
{
try
{
element = cache.get(aKey);
}
catch (IllegalStateException e)
{
//Log it
}
catch (RuntimeException r)
{
//Log it
}
}
return ((element == null) ? aDefaultValue : element.getObjectValue());
}
希望这有帮助