001/* 002 * Copyright (c) 2006-2011 Nuxeo SA (http://nuxeo.com/) and others. 003 * 004 * All rights reserved. This program and the accompanying materials 005 * are made available under the terms of the Eclipse Public License v1.0 006 * which accompanies this distribution, and is available at 007 * http://www.eclipse.org/legal/epl-v10.html 008 * 009 * Contributors: 010 * mcedica 011 */ 012package org.nuxeo.ecm.core.management.probes; 013 014import java.util.HashMap; 015import java.util.Map; 016 017import org.nuxeo.ecm.core.management.api.AdministrativeStatus; 018import org.nuxeo.ecm.core.management.api.AdministrativeStatusManager; 019import org.nuxeo.ecm.core.management.api.Probe; 020import org.nuxeo.ecm.core.management.api.ProbeStatus; 021import org.nuxeo.runtime.api.Framework; 022 023/** 024 * Retrieves the administrative status of the server. 025 * 026 * @author Mariana Cedica 027 */ 028public class AdministrativeStatusProbe implements Probe { 029 030 @Override 031 public ProbeStatus run() { 032 AdministrativeStatusManager adm = Framework.getLocalService(AdministrativeStatusManager.class); 033 AdministrativeStatus status = adm.getNuxeoInstanceStatus(); 034 035 Map<String, String> infos = new HashMap<String, String>(); 036 infos.put("server", status.getInstanceIdentifier()); 037 infos.put("host", Framework.getProperty("org.nuxeo.runtime.server.host", "localhost")); 038 infos.put("status", status.getState()); 039 if (!status.isActive()) { 040 return ProbeStatus.newFailure(infos); 041 } 042 return ProbeStatus.newSuccess(infos); 043 } 044 045}