36 lines
1010 B
Java
36 lines
1010 B
Java
package org.gcube.data.access.storagehub.health;
|
|
|
|
import javax.jcr.LoginException;
|
|
import javax.jcr.Session;
|
|
|
|
import org.gcube.common.health.api.HealthCheck;
|
|
import org.gcube.common.health.api.ReadinessChecker;
|
|
import org.gcube.common.health.api.response.HealthCheckResponse;
|
|
import org.gcube.data.access.storagehub.repository.StoragehubRepository;
|
|
|
|
@ReadinessChecker
|
|
public class JCRRepositoryCheck implements HealthCheck{
|
|
|
|
|
|
StoragehubRepository repository = StoragehubRepository.repository;
|
|
|
|
@Override
|
|
public String getName() {
|
|
return "Jackrabbit repository";
|
|
}
|
|
|
|
@Override
|
|
public HealthCheckResponse check() {
|
|
try {
|
|
Session session = repository.getRepository().login();
|
|
if (session != null) session.logout();
|
|
return HealthCheckResponse.builder(getName()).up().build();
|
|
}catch (LoginException e) { }
|
|
catch(Throwable ex) {
|
|
return HealthCheckResponse.builder(getName()).down().error(ex.getMessage()).build();
|
|
}
|
|
return HealthCheckResponse.builder(getName()).up().build();
|
|
}
|
|
|
|
}
|