Le service de statut permet de gérer l'état des services externes au portail, et appelés sous forme de web-service.

Un service est défini par une URL, qui permet à la fois d'identifier le service, mais qui sera également appelée pour contrôler son état.

Un service possède plusieurs états :

  • UP : le service est opérationnel
  • DOWN : le service n'est pas actif
  • TO_CHECK : le service est UP mais doit être vérifié (présomption d'erreur)

Récupération du service de statut

Le service de statut est injecté dans les portlets. Pour récupérer le service, procéder comme suit

private IStatusService statusService;

@Override
public void init(PortletConfig config) throws PortletException {
    super.init(config);

    statusService = (IStatusService) getPortletContext().getAttribute("StatusService");
    if (statusService == null) {
	throw new PortletException("Cannot start portlet due to service unavailability");
    }

	}

Etat du service

Pour savoir si le service est opérationnel, appeler la méthode isReady

if (serviceStatut.isReady(url)) {
    ...
}

Notification d'une erreur

Lorsque une erreur est détectée par l'appelant, il faut notifier le gestionnaire de statut, via la méthode suivante :

serviceStatut.notifyError(url, e);

En fonction de l'exception, le service sera soit considéré comme DOWN ou TO_CHECK