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.
PartitionDefinition[] 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.
boolean partitionLoadEvent(String partitionName)
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.
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.
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.
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