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 :
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");
}
}
Pour savoir si le service est opérationnel, appeler la méthode isReady
if (serviceStatut.isReady(url)) {
...
}
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