![[18.0.0.1 und höher]](../ng_v18001plus.gif)
Nachrichten mit Nachrichtenendpunkten in Liberty verwalten
Verwalten Sie die Nachrichtenübermittlung für MDBs (Message-driven Beans), die als Nachrichtenendpunkte implementiert werden.
Informationen zu diesem Vorgang
Sie können einen Serverbefehl oder eine MBean verwenden, um die Übermittlung Ihrer MDBs zu verwalten, die als Listener an bestimmten Endpunkten, so genannten Zielen, fungieren. Mit einem Serverbefehl oder einer MBean können Sie EIS-Ressourcen (Enterprise Information System) verwalten, die Ihre MDBs verwenden.
- Fehlgeschlagene Nachrichten erfordern zusätzliche Verarbeitungsschritte, wie z. B. die erneute Übermittlung an den empfangsbereiten Endpunkt oder die Umleitung an alternative Ziele, an denen die fehlgeschlagenen Nachrichten verarbeitet werden. Des Weiteren kann es vorkommen, dass ein Ressourcenadapter möglicherweise versucht, eine Nachricht an einen Endpunkt unendlich oft erneut zuzustellen.
- Die Nachrichtenumleitung erfordert die Implementierung spezialisierter Ziele (Warteschlangen und Listener), um fehlgeschlagene Nachrichten und die Logik zur Ermittlung von Nachrichtenfehlern zu verarbeiten. Das Konzept der Nachrichtenumleitung ist aufgrund der Komplexität potenziell fehlerträchtig und rechentechnisch kostenintensiv.
Die Möglichkeit, einen bestimmten Nachrichtenendpunkt zu inaktivieren (anhalten) und zu reaktivieren (fortsetzen) mildert diese Probleme dahingehend, dass ein Administrator in der Lage ist, den Endpunkt für die Verarbeitung der Nachrichten zu inaktivieren, die fehlschlagen werden. Wenn der Nachrichtenendpunkt inaktiviert ist, können Sie die Ressource, die die Probleme verursacht, reparieren und den Endpunkt reaktivieren, um die Verarbeitung von Nachrichtenanforderungen wiederaufzunehmen. Die Fehlerbehebung wirkt sich nicht auf den Ressourcenadapter oder die Anwendung aus, die den Endpunkt hostet.
Sie können auch das Attribut autoStart in der Aktivierungsspezifikation verwenden, damit der Nachrichtenendpunkt im Status "Inaktiviert" gestartet wird. Wenn Sie diese Eigenschaft auf false setzen, empfängt die Message-driven Bean keine Nachrichten, wenn die Anwendung gestartet wird. Verwenden Sie diese Einstellung, damit ein Nachrichtenendpunkt automatisch inaktiviert wird, wenn Sie wissen, dass bestimmte Tasks ausgeführt, Services gestartet oder Überprüfungen ausgeführt werden müssen, bevor mit der Nachrichtenverarbeitung begonnen wird. Sie reaktivieren den Nachrichtenendpunkt auf dieselbe Weise wie Sie ihn im Betrieb angehalten haben. Der Standardwert für das Attribut autoStart ist true.
Vorgehensweise
Ergebnisse
Das Verhalten, das Sie beim Inaktivieren (Anhalten) eines Nachrichtenendpunkts beobachten, hängt von verschiedenen Faktoren ab, einschließlich dem Ressourcenadapter, der den Nachrichtenendpunkt verwaltet, der Konfiguration des Nachrichtenendpunkts und der Anwendungsservertopologie ab. Nachfolgenden werden einige interessante Beispiele genannt:
- An einem nicht permanenten Topic empfangsbereite MDB
- Das mit dem Inaktivieren (Anhalten) eines Nachrichtenendpunkts verbundene Verhalten ist häufig von der Funktion abhängig, die die Inaktivierung durchführt. Wenn Sie beispielsweise eine MDB (Message-driven Bean) als Listener an einem nicht permanenten Topic konfiguriert haben, bewirkt die Inaktivierung des Nachrichtenendpunkts, dass die Subkription geschlossen wird. Die Message-driven Bean empfängt keine Nachrichten, die zu der Zeit veröffentlicht werden, in der der Nachrichtenendpunkt angehalten ist.
- An einem permanenten Topic empfangsbereite MDB
- Wenn Sie beispielsweise eine MDB als Listener an einem permanenten Topic konfiguriert haben, bewirkt die Inaktivierung des Nachrichtenendpunkts, dass die Subskription geschlossen wird. Je nach Konfiguration wird möglicherweise die Verarbeitung von Nachrichten, die veröffentlicht werden, während der Nachrichtenendpunkt angehalten ist, zurückgestellt, bis der Nachrichtenendpunkt wiederaufgenommen wird, sodass die Nachrichten dann verarbeitet werden können.
- MDBs mit Clustering
- Wenn Ihre Messaging-Engine Clustering unterstützt, können Sie je nach Konfiguration möglicherweise Nachrichten, die für den inaktivierten (angehaltenen) Nachrichtenendpunkt bestimmt sind, so aktivieren, dass sie an andere MDBs umgeleitet werden.