![[z/OS]](../images/ngzos.gif)
Nachrichtenlistener-Service unter z/OS
Auf der Plattform z/OS verwendet die Implementierung des Nachrichtenlistener-Servers die skalierbare Serverarchitektur, um die Portfunktionen des Listeners auf die Controller- und Servant-Prozesse zu verteilen.
Im Controllerteil des ListenerPort wird ein einziger Nachrichtenlistener registriert, wohingegen die Anwendungsverteilung (d. h. die Verteilung der EJB-Methode "onMessage(Message)" der Benutzeranwendung) auf die verschiedenen Servants, aus denen sich der Server zusammensetzt, verteilt wird. Diese Implementierung wird als "Empfangsbereitschaft des Controllers" für MDB-Nachrichten bezeichnet.
Wenn die MDB über eine nicht permanente Subskription für ein Topic auf Nachrichten für ein Topic wartet, registriert der Listener-Port einen Listener in jedem Servant und nicht nur einen einzelnen Listener im Controller. In diesem Fall wird eine einzelne Nachricht, die in diesem Topic veröffentlicht wird, einmal für jeden Servant zugestellt, der zum Server gehört. Wenn eine MDB in einer Warteschlange oder über eine permanente Subskription für ein Topic auf Nachrichten wartet, wird für den gesamten Server eine einzige Nachricht an einen einzigen Servant versendet.
Bei der "Empfangsbereitschaft des Controllers" wird die Konfiguration des Listener-Port extern über die Steuerelemente verwaltet, die in den Artikeln
MDB-Verarbeitung unter z/OS mithilfe von IBM MQ als Messaging-Provider im ASF-Modus optimieren und
Message-driven Beans (MDBs) und Optimierungseinstellungen unter z/OS beschrieben sind.
Für eine MDB mit einer nicht permanenten Subskription, die in jedem Servant empfangsbereit ist, werden die Listener-Ports auf dieselbe Weise konfiguriert wie auf verteilten Plattformen. Die für den Listener-Port konfigurierten Einstellungen werden in diesem Fall gleichermaßen auf alle Servants angewendet.