![[z/OS]](../images/ngzos.gif)
Nachrichtenfluss für ASF-MDBs, die WebSphere MQ als Messaging-Provider verwenden
Application Server Facilities (ASF) wird mit Messaging-Providern verwendet, die die optionalen ASF-Erweiterungen der JMS-Spezifikation umfassen. Unter z/OS werden diese Erweiterungen vom WebSphere MQ-Messaging-Provider implementiert. Ab WebSphere Application Server Version 7.0 wird JCA der älteren ASF-Technologie vorgezogen.
ASF-Unterstützung für MDBs in WebSphere Application Server wird auch als Nachrichten-Listener-Service bezeichnet. Wenn Sie eine ASF-MDB installieren, geben Sie Konfigurationsdaten als Nachrichten-Listener-Port an.

- Bei allen Nachrichtenquellen außer nicht permanenten Subskriptionen wird der Nachrichtenlistener in der Steuerregion ausgeführt, d. h., er fungiert als Empfangsbereitschaft in der Steuereinheit für diese Nachrichten.
- Bei nicht permanenten Subskriptionen wird der Nachrichtenlistener in den Servantregionen ausgeführt, d. h., er fungiert als Empfangsbereitschaft im Servant für diese Nachrichten.
Empfangsbereitschaft in der Steuereinheit
Die folgende Abbildung zeigt den Nachrichtenfluss von WebSphere MQ ASF, wenn der Nachrichtenlistener in der Steuereinheit empfangsbereit ist.
In z/OS WebSphere Application Server unterstützt ASF die nachrichtengesteuerte Verarbeitung, bei der der MDB-Listener sich in der Steuerregion befindet und die Arbeit an die MDB-Dispatcher in den Servantregionen verteilt wird. Beachten Sie, dass für Publish-Subscribe ein Listener existiert, der eine Subskription für den gesamten Server und nicht separate Subskriptionen für jede Servantregion registriert.

- Wenn eine Nachricht bei einem JMS-Ziel (in der Abbildung als WebSphere MQ-Warteschlange dargestellt) eingeht, empfängt der Listener eine Kopie der Nachricht. Der Listener löscht die Nachricht nicht vom Ziel.
- Der Listener bestimmt die Transaktionsklasse für die Nachricht und verwendet das Workload-Management von z/OS, um ein Nachrichtentoken (nicht die eigentliche Nachricht) an eine Servantregion zu übergeben. Das Workload-Management wählt basierend auf der Transaktionsklasse eine geeignete Servantregion aus.
- Der Dispatcher verwendet das Nachrichtentoken, um die Nachricht zu empfangen und an die onMessage-Methode der MDB zu übergeben. Der Dispatcher löscht die Nachricht am Ziel.
Empfangsbereitschaft im Servant
Die folgende Abbildung zeigt den Nachrichtenfluss von WebSphere MQ ASF, wenn der Nachrichtenlistener in einer Servantregion empfangsbereit ist.
Die Abbildung zeigt eine besondere Form der Verarbeitung von ASF-MDBs, bei der sowohl die MDB als auch der MDB-Dispatcher in derselben Servantregion ausgeführt werden. WebSphere Application Server verwendet diese Konfiguration für nicht permanentes Publish/Subscribe-Messaging. Jede Servantregion registriert ihre eigene Subskription, sodass ein Server mehrere Kopien derselben Veröffentlichung empfangen und verarbeiten kann (d. h. eine Kopie derselben Veröffentlichung für jede Servantregion).

- Wenn eine Nachricht bei einem JMS-Ziel (in der Abbildung als WebSphere MQ-Warteschlange dargestellt) eingeht, empfängt der Listener eine Kopie der Nachricht. Der Listener löscht die Nachricht nicht vom Ziel.
- Der Listener ruft Code in der Steuerregion auf, die das Workload-Management verwendet, um ein Nachrichtentoken zurück an dieselbe Servantregion zu übergeben.
- Der Dispatcher verwendet das Nachrichtentoken, um die Nachricht zu empfangen und an die onMessage-Methode der MDB zu übergeben. Der Dispatcher löscht die Nachricht am Ziel.