WebSphere Extended Deployment, Version 6.0.x     Systèmes d'exploitation : AIX, HP-UX, Linux, Solaris, Windows, z/OS

PartitionHandlerLocal

L'interface PartitionHandlerLocal définit les méthodes de rappel qui permettent à l'application de recevoir des événements relatifs au cycle de vie d'une partition spécifique envoyés par l'environnement d'exécution de la fonction de partitionnement. Cette interface comporte quatre méthodes.

PartitionHandlerLocal#getPartitions

La méthode getPartitions est appelée lorsque l'application est lancée sur un membre du cluster. Cette méthode est appelée une fois sur CHAQUE membre du cluster à CHAQUE lancement de l'application. La signature de la méthode est

PartitionDefinition[] getPartitions()

La méthode doit renvoyer un tableau d'objets PartitionDefinition. Il doit y avoir un objet PartitionDefinition pour chaque partition que l'application peut héberger dans ce membre du cluster. Un membre du cluster peut uniquement disposer d'une partition lorsque celle-ci a été renvoyée par getPartitions.
NoteColonSymbol Il est recommandé que l'application renvoie toujours le même ensemble de partitions sur chaque membre du cluster.
Les stratégies du gestionnaire haute disponibilité peuvent être utilisées pour limiter la partition à une procédure d'activation sur certains membres du cluster ou même pour associer une partition à un membre spécifique. Voici un exemple de la méthode getPartitions :
	public PartitionDefinition[] getPartitions()
	{
		PartitionDefinition[] rc = new PartitionDefinition[10];
		for(int i = 0; i < rc.length; ++i)
		{
			rc[i] = ivRuntime.createPartitionDefinition("" + i);
		}
		return rc;
Cette méthode renvoie dix partitions à l'environnement d'exécution. Le nom des partitions est {0,1,2,3,4,5,6,7,8,9}. Elles sont toutes créées avec la classification par défaut.

PartitionHandlerLocal#partitionLoadEvent

Le gestionnaire haute disponibilité appelle partitionLoadEvent lorsqu'une partition est activée sur un membre du cluster. Ce mécanisme permet à l'application d'effectuer la procédure d'initialisation requise avant de recevoir les demandes IIOP pour la partition indiquée. (Le nom de la partition est fourni sous la forme d'un paramètre de type chaîne.) La signature de la méthode partionLoadEvent est :

boolean partitionLoadEvent(String partitionName)

[zos platforms] La phrase qui suit n'est pas valable pour z/OS.

La méthode doit renvoyer la valeur true si le membre du cluster est prêt à accepter les tâches pour la partition indiquée.

Une fois que la méthode renvoie la valeur true, les tables de routage IIOP sont mises à jour et les demandes IIOP entrantes sont transmises au membre du cluster pour la partition indiquée.

Si la méthode renvoie la valeur false, le gestionnaire haute disponibilité désactive le membre du cluster pour cette partition et tente d'activer la partition sur un autre membre en fonction de la stratégie en cours. Cette désactivation s'applique uniquement à la partition transmise à la méthode. Les autres partitions peuvent toujours être activées sur ce membre du cluster. Les applications qui renvoient la valeur false doivent s'assurer que la fonction de trace est activée pour permettre à l'administrateur d'identifier l'incident. Si l'incident ne se produit pas systématiquement, l'administrateur peut utiliser JMX pour réactiver le membre du cluster pour cette partition.

Si une application utilise des fonctions de messagerie pour accepter les demandes entrantes d'une partition (par opposition au routage IIOP), l'application doit s'abonner aux sujets et aux files d'attente dans lesquelles les demandes peuvent être placées.

PartitionHandlerLocal#partitionUnloadEvent

Le gestionnaire haute disponibilité appelle la méthode partitionUnloadEvent lorsqu'une partition est désactivée. L'événement demande à l'application d'arrêter le traitement des demandes pour la partition indiquée. L'environnement d'exécution de la fonction de partitionnement met à jour la table de routage IIOP de ce membre du cluster avant d'invoquer ce rappel. La méthode possède la signature suivante :

void partitionUnloadEvent(String partitionName)

Si une application utilise des fonctions de messagerie pour accepter les demandes entrantes d'une partition (par opposition au routage IIOP), l'application doit se désabonner des sujets et des files d'attente dans lesquelles les demandes sont placées. Le gestionnaire haute disponibilité n'active pas de membre de remplacement tant que la méthode ne renvoie pas de données.

PartitionHandlerLocal#isPartitionAlive

La méthode isPartitionAlive est appelée uniquement lorsque l'attribut isAlive de la stratégie contrôlant la partition est associé à la valeur true dans la stratégie CoreGroup en cours pour cet ensemble de partitions (voir les sections relatives à la présentation de la stratégie wpfadmin et aux exemples de commandes liées aux stratégies).

Les stratégies applicables par défaut aux partitions désactivent ce rappel car les performances globales du cluster peuvent s'en trouver altérées. Pour les environnements soumis à un contrôle plus strict, il est possible de gérer cet attribut de manière active.

Lorsque l'attribut isAlive de la stratégie du gestionnaire haute disponibilité est associé à la valeur true, cette méthode est appelée toutes les X secondes (valeur également définie dans la stratégie) au moment de l'activation ou de la désactivation de la partition. L'intervalle est indiqué en secondes et est défini à l'aide d'un autre attribut de la stratégie de contrôle. La méthode isPartitionAlive n'est jamais appelée lorsque l'attribut de la stratégie isAlive est associé à la valeur false. La signature de la méthode est :

boolean isPartitionAlive(String partitionName)

Si la méthode renvoie la valeur false, la machine virtuelle Java reçoit une alerte (arrêtée) et un autre membre du cluster est choisi pour héberger la partition. L'application peut utiliser cette méthode pour vérifier que la partition fonctionne correctement, par exemple en demandant à un membre homologue du cluster d'invoquer une méthode de la partition pour effectuer une opération de type ping ou une vérification du fonctionnement à partir d'une machine virtuelle Java éloignée.




Related concepts
Modèle de programmation de la fonction de partitionnement

Rubrique Référence    

Conditions d'utilisation | Commentaires Dernière mise à jour le : Mar 16, 2006 10:01:30 AM EST
http://publib.boulder.ibm.com/infocenter/wxdinfo/v6r0/index.jsp?topic=?topic=/com.ibm.websphere.xd.doc/info/WPF51/rwpfPartitionHandlerLocal.html

© Copyright IBM 2005, 2006. All Rights Reserved.
Ce centre de documentation s'appuie sur la technologie Eclipse. (http://www.eclipse.org)