Guide des développeurs pour les services de données Sun Cluster 3.1 10/03

Idempotence des méthodes

En règle générale, le gestionnaire RGM n'appelle pas successivement plus d'une fois une méthode sur la même ressource avec les mêmes arguments. Par contre, si une méthode de Démarrage échoue, le gestionnaire RGM peut appeler une méthode d'Arrêt sur une ressource même si cette dernière n'a jamais été exécutée. De même, le gestionnaire RGM peut exécuter la méthode Arrêt sur le démon d'une ressource qui s'est pourtant interrompu de lui-même. Les mêmes scénarios s'appliquent aux méthodes Démarrage_détecteur et Arrêt_détecteur.

C'est pourquoi vous devez créer une relation d'idempotence entre les méthodes Arrêt et Arrêt_détecteur. Les appels répétés de Arrêt ou Arrêt_détecteur sur la même ressource en utilisant les mêmes paramètres fournissent les mêmes résultats qu'un appel unique.

L'idempotence se caractérise notamment par le fait que l'Arrêt et l'Arrêt_détecteur doivent revenir à 0 (succès) même si la ressource ou le détecteur sont déjà arrêtés ou qu'aucun travail n'est effectué.


Remarque :

les méthodes Init, Fini, Initialisation et Mise_à_jour doivent également être idempotentes. Il n'est pas nécessaire qu'une méthode de Démarrage soit idempotente.