package ru.vyarus.dropwizard.orient.health;
import com.codahale.metrics.health.HealthCheck;
import com.orientechnologies.orient.core.Orient;
/**
* Checks embedded orient server state.
* Looks for registered storage instances and server active status.
*
* @author Vyacheslav Rusakov
* @since 05.10.2014
*/
public class OrientServerHealthCheck extends HealthCheck {
@Override
protected Result check() throws Exception {
final Orient instance = Orient.instance();
final boolean noStorages = instance.getStorages().isEmpty();
final Result result;
if (!instance.isActive()) {
result = Result.unhealthy("Database not started");
} else if (noStorages) {
result = Result.unhealthy("No registered storages");
} else {
result = Result.healthy("OK");
}
return result;
}
}