Clientanforderungen, die mit dem ORB (Object Request Broker) über IIOP (Internet Inter-ORB Protocol) übergeben werden, können an eine bestimmte Partition in einem Cluster weitergeleitet werden. Wenn der Client eine ferne Anforderung an die Session-Bean mit Routing-Unterstützung übermittelt, stellen die Client-Stubs fest, für welche Partition die Anforderung bestimmt ist. Die aktuelle Position der Partition wird mit dem WLM-Framework (Workload Management) bestimmt. Anschließend wird die Anforderung direkt an das Cluster-Member gesendet, der die Partition derzeit enthält. Sollte die Partition von mehreren Cluster-Membern ausgeführt werden, werden die Anforderungen im Round-Robin-Verfahren an die geeigneten Cluster-Member (Kandidaten) verteilt.
Die vorherige Abbildung zeigt, wie der Anforderungsfluss in WebSphere Application Servern mit WPF-Unterstützung verarbeitet wird. Wenn Extended Deployment installiert ist, wird ein neuer Router mit dem Namen WPFWLM oder ein Partitions-Router erstellt. Alle Anforderungen werden zuerst an den Router WPFWLM oder den Partitions-Router gesendet, unabhängig davon, ob die Anforderungen Partitions-Routing erfordern oder nicht. Wenn der Partitions-Router feststellt, dass die Anforderung nicht an eine Partition weitergeleitet werden muss, leitet er die Anforderung an den normalen WLM-Router weiter. Andernfalls verwendet der Partitions-Router den Mechanismus für Partitions-Routing, um die Anforderung direkt an die richtige Partition weiterzuleiten.
Der Anwendungsentwickler kann das Routing-Verhalten seiner Anwendungen steuern, indem er eine Klasse <EJB-Name>_PartitionKey.java schreibt. Diese Klasse signalisiert, ob ein Partitions-Router oder ein normaler WLM-Router für das Routing verwendet werden soll. Für jedes EJB-Remote-Interface, das Partitions-Routing unterstützen soll, ist eine Klasse <EJB-Name>_PartitionKey.java vorhanden. In der Klasse <EJB-Name>_PartitionKey.java müssen Sie eine statische Methode für jede Remote-Methode definieren, die Partitions-Routing unterstützen soll. Die statische Methode gibt eine nicht leere Zeichenfolge zurück, um anzuzeigen, dass die Anforderung an einen Partitions-Router weitergeleitet werden kann. Falls keine statische Methode vorhanden ist oder die statische Methode null zurückgibt, behandelt der Partitions-Router die Anforderung so, als wäre sie nicht an eine Partition weiterleitbar, und leitet die Anforderung an einen normalen WLM-Router ohne Partitionsunterstützung weiter. Nähere Einzelheiten zur Klasse <EJB-Name>_PartitionKey.java finden Sie im Abschnitt zur Programmierung.
Related concepts
Was ist eine Partition?