我需要使用apache ignite检查缓存状态。我也检查了缓存指标,但它没有可以显示状态的方法。我怎样才能知道缓存是否活跃'或不。有人可以建议吗?
答案 0 :(得分:1)
你是什么意思"活跃"缓存?缓存的状态不存在。当您需要使用缓存时,它足以理解,是否已创建,如果不是,则创建。在这种情况下,您可以使用方法Ignite.getOrCreateCache。
答案 1 :(得分:-1)
您可以看到“点燃”界面
/**
* Checks Ignite grid is active or not active.
*
* @return {@code True} if grid is active. {@code False} If grid is not active.
*/
public boolean active();
更新:
评论是正确的,这里是检查ignit cluster'a活动,没有检查缓存实例的默认方法,但是您可以像下面所做的那样创建一个方法来检查是否可以检索某些内容,无论它是否为null或不。如果缓存已挂起,则应该超时,您可以抛出错误或记录日志,或者仅返回false;
public boolean isResponsive(K key) {
try {
CompletableFuture.supplyAsync(() -> cache.get(key)).get(10, TimeUnit.SECONDS);
} catch (Exception e) {
log.error("no response from ignite cache: " + e.getMessage());
return false;
}
return true;
}