WebSphere Extended Deployment, Version 6.0.x     Betriebssysteme: AIX, HP-UX, Linux, Solaris, Windows, z/OS

PartitionHandlerLocal

Das Interface PartitionHandlerLocal definiert Rückrufmethoden, mit denen die Anwendung bestimmte Ereignisse, die im Lebenszyklus der Partition eintreten, von der Laufzeitumgebung des Partitionierungs-Feature (WPF) empfangen kann. Das Interface enthält 4 Methoden.

PartitionHandlerLocal#getPartitions

Die Methode getPartitions wird aufgerufen, wenn die Anwendung in einem Cluster-Member gestartet wird. Diese Methode wird für jedes Cluster-Member einmal aufgerufen, wenn die Anwendung gestartet wird. Die Methodendeklaration ist:

PartitionDefinition[] getPartitions()

Die Methode gibt einen Array von PartitionDefinition-Objekten zurück. Es muss genau eine PartitionDefinition für jede Partition verfügbar sein, die die Anwendung in diesem Cluster-Member ausführen kann. Ein Cluster-Member kommt nur für eine Partition in Frage, wenn diese Partition von der Methode getPartitions zurückgegeben wurde.
NoteColonSymbol Es wird empfohlen, das die Anwendung immer dieselben Partitionen auf jedem Cluster-Member zurückgibt.
Mit den HA-Manager-Policys können Sie die Aktivierung der Partition auf bestimmte Cluster-Member beschränken oder sogar eine Partition an ein bestimmtes Cluster-Member binden. Im Folgenden sehen Sie ein Beispiel für die Methode getPartitions:
	public PartitionDefinition[] getPartitions()
	{
		PartitionDefinition[] rc = new PartitionDefinition[10];
		for(int i = 0; i < rc.length; ++i)
		{
			rc[i] = ivRuntime.createPartitionDefinition("" + i);
		}
		return rc;
Es werden 10 Partitionen an die Laufzeitumgebung zurückgegeben. Die Partitionen haben die Namen {0,1,2,3,4,5,6,7,8,9}. Sie wurden alle mit der Standardklassifizierung erstellt.

PartitionHandlerLocal#partitionLoadEvent

Der HA Manager ruft partitionLoadEvent auf, wenn eine Partition auf einem Cluster-Member aktiviert wird. Dies gibt der Anwendung die Möglichkeit, alle erforderlichen Initialisierungsoperationen durchzuführen, bevor IIOP-Anforderungen für die angegebene Partition empfangen werden. (Der Partitionsname wird als Zeichenfolgeparameter übergeben.) Die Signatur der Methode partionLoadEvent ist wie folgt:

boolean partitionLoadEvent(String partitionName)

[zos platforms] Der folgende Satz gilt nicht für z/OS.

Die Methode muss true zurückgeben, wenn das Cluster-Member bereit ist, Anforderungen für die angegebene Partition zu akzeptieren.

Sobald die Methode zurückkehrt, werden die IIOP-Routing-Tabellen aktualisiert und die eingehenden IIOP-Anforderungen an das Cluster-Member für die angegebene Partition übertragen.

Wenn die Methode false zurückgibt, inaktiviert der HA Manager das Cluster-Member für diese Partition und versucht, die Partition basierend auf der aktuellen Policy auf einem anderen Cluster-Member zu aktivieren. Das Inaktivieren bezieht sich nur auf die Partition, die an die Methode übergeben wird. Andere Partitionen können weiterhin auf dem Cluster-Member aktiv werden. In Anwendungen, die false zurückgeben, muss ein adäquater Trace aktiviert sein, damit der Administrator das Problem diagnostizieren kann. Wenn das Problem von vorübergehender Natur ist, kann der Administrator das Cluster-Member für die jeweilige Partition mit JMX erneut aktivieren.

Falls eine Anwendung Messaging für die Annahme eingehender Anforderungen für eine Partition verwendet (und kein direktes IIOP-Routing), muss die Anwendung an dieser Stelle die Topics/Warteschlangen subskribieren, in denen die Anforderungen eingehen können.

PartitionHandlerLocal#partitionUnloadEvent

Der HA Manager ruft die Methode partitionUnloadEvent auf, wenn eine Partition inaktiviert wird. Das Ereignis teilt der Anwendung mit, die Verarbeitung der Anforderung für die angegebene Partition zu stoppen. Die WPF-Laufzeitumgebung aktualisiert die IIOP-Routing-Tabelle für dieses Cluster-Member vor dem Aufruf des Callback. Die Methode hat die folgende Deklaration:

void partitionUnloadEvent(String partitionName)

Falls eine Anwendung Messaging für die Annahme eingehender Anforderungen verwendet (und kein direktes IIOP-Routing), muss sie die Topics/Warteschlangen abbestellen, in denen die Anforderungen eingehen können. Der HA Manager aktiviert erst dann ein Ersatz-Cluster-Member, wenn die Methode zurückkehrt.

PartitionHandlerLocal#isPartitionAlive

Die Methode isPartitionAlive wird nur aufgerufen, wenn die Policy, die die Partition steuert, das Attribut isAlive in der für diese Partition gültigen CoreGroup-Policy auf true gesetzt hat. (Sehen Sie sich hierzu die Übersicht über die wpfadmin-Policys und die Beispiele für die Policy-Befehle an.)

In den Standard-Policys für WPF-Partitionen ist dieser Callback inaktiviert, da bei vielen Partitionen die Gesamtleistung des Cluster beeinträchtigt werden könnte. Für streng verwaltete Umgebungen kann dieses Attribut aktiv verwaltet werden.

Wenn das Attribut isAlive der HA-Manager-Policy auf true gesetzt ist, wird die Methode alle X Sekunden (ist ebenfalls in der Policy definiert) aufgerufen, während einer Partition aktiviert bzw. inaktiviert wird. Das Intervall wird in Sekunden und mit einem anderen Attribut in der Steuerungs-Policy angegeben. Die Methode isPartitionAlive wird nicht aufgerufen, wenn das Policy-Attribut isAlive den Wert false hat. Die Methodendeklaration ist:

boolean isPartitionAlive(String partitionName)

Wenn die Methode false zurückgibt, wird die JVM angehalten und ein anderes Cluster-Member für die Partition ausgewählt. Die Anwendung kann diese Methode verwenden, um sicherzustellen, dass die Partition ordnungsgemäß arbeitet, indem sie beispielsweise ein Peer-Cluster-Member auffordert, eine Partitionsmethode aufzurufen, die eine Ping-Operation oder eine Vitalitätsprüfung von einer fernen JVM aus durchführt.




Related concepts
Programmiermodell des Partitionierungs-Feature

Referenzartikel    

Nutzungsbedingungen | Feedback Letzte Aktualisierung: Mar 23, 2006 9:57:42 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. Alle Rechte vorbehalten.
Dieses Information Center beruht auf der Eclipse-Technologie. (http://www.eclipse.org)