Message-Driven-Beans - Listener-Komponenten
Die Unterstützung von MDBs für Listener-Ports in IBM WebSphere Application Server basiert auf JMS-Nachrichtenlistenern und dem Listener-Service für Nachrichten (Nachrichten-Listener-Service). Sie baut auf der ASF-Unterstützung (Application Server Facility) des JMS-Providers auf.
Die Hauptkomponenten der in WebSphere Application Server bereitgestellten Unterstützung für nachrichtengesteuerte Beans (Message-driven Beans, MDBs) werden in der folgenden Abbildung gezeigt und anschließend beschrieben:

Der Nachrichten-Listener-Service ist eine Erweiterung der JMS-Funktionen des JMS-Providers. Dieser Service stellt einen Listener-Manager zur Verfügung, der einen oder mehrere JMS-Listener steuern und überwachen kann. Jeder Listener überwacht entweder eine JMS-Warteschlange (für Punkt-zu-Punkt-Messaging) oder ein JMS-Topicziel (für Pub/Sub-Messaging).
Für das Herstellen von Verbindungen zum JMS-Provider für eine bestimmte JMS-Warteschlange oder ein bestimmtes JMS-Topic wird eine Verbindungsfactory verwendet. Jede Verbindungsfactory enthält in gekapselter Form die Konfigurationsparameter, die für das Erstellen einer Verbindung zu einem JMS-Ziel erforderlich sind.
Ein Listener-Port definiert die Zuordnung zwischen einer Verbindungsfactory, einer Zieladresse und einer implementierten MDB (Message-Driven Bean). Listener-Ports werden verwendet, um die Verwaltung der Zuordnungen zwischen diesen Ressourcen zu vereinfachen.
Wenn Sie eine MDB implementieren, ordnen Sie die Bean einem Listener-Port zu. Wenn eine Nachricht an der Zieladresse eingeht, gibt der Listener sie zur Verarbeitung an eine neue Instanz einer MDB weiter.
- Erstellen eines Sitzungspools für den JMS-Server und Zuweisen von JMS-Serversitzungen und -sitzungsthreads für eingehende Nachrichten.
- Schnittstelle zu JMS ASF für das Erstellen von JMS-Verbindungsnutzern, die eingehende Nachrichten überwachen.
- Sofern angegeben, Starten einer Transaktion und Anforderung zum Festschreiben (oder Rückgängigmachen), wenn die EJB-Methode beendet ist.
- Verarbeiten eingehender Nachrichten durch Aufruf der Methode onMessage() der angegebenen Enterprise-Bean.