Methoden für das Stoppen von Messaging-Engines
Es gibt verschiedene Mechanismen für das Stoppen von Messaging-Engines. Außerdem können Sie zwischen zwei verschiedenen Dringlichkeitsgraden wählen: immediate (Sofort) und force (Erzwingen). Wenn Sie eine Messaging-Engine stoppen, kann sie keine Nachrichten senden.
- Die Messaging-Engine kann in der Administrationskonsole gestoppt werden.
- Sie können den JMX-Befehl stop verwenden.
- Sie können mit dem Befehl stopServer den Anwendungsserver stoppen, der die Messaging-Engine bereitstellt.
- Sofort
- Im Modus "Sofort" wird die Messaging-Engine gestoppt, sobald alle beim
Absetzen der Stoppanforderung aktiven Messaging-Operationen abgeschlossen sind.
Die Anwendung wird nicht über das Stoppen der Messaging-Engine informiert. Nach dem Absetzen
eines Befehls stop lässt die Messaging-Engine keinen Start neuer
Operationen mehr zu.
Die Messaging-Engine wartet für jede vorhandene Verbindung, bis die aktuelle Operation abgeschlossen ist, es sei denn, die Operation, z. B. eine Empfangsoperation, wird in der Messaging-Engine blockiert. In diesem Fall wird die Operation unterbrochen. Asynchrone Konsumenten können ihre Operation auch dann beenden, wenn sie beliebig viel Zeit für die Verarbeitung der aktuellen Nachricht benötigen. Die Messaging-Engine führt aktive Transaktionen dann nicht mehr zu Ende und lässt keine weiteren Operationen über diese Verbindung zu. Sobald alle Verbindungen diesen Inaktivierungsstatus haben, wird die Messaging-Engine gestoppt.
- Erzwingen
- Im Modus "Erzwingen" wird die Messaging-Engine so gestoppt, dass alle aktuellen Transaktionen inaktiviert werden
und die Unterbrechung von Anwendungen erzwungen wird.
Der Modus "Erzwingen" ist mit dem Modus "Sofort" vergleichbar. Im Modus "Erzwingen" unterbricht die Messaging-Engine allerdings Messaging-Operationen in Anwendungsthreads, die beim Absetzen des Stoppbefehls gerade ausgeführt werden. Vorhandene Messaging-Operationen können nicht beendet werden. Sie werden von der Messaging-Engine unterbrochen. Weitere Operationen werden nicht zugelassen. Sobald alle Verbindungen diesen Status haben, wird die Messaging-Engine gestoppt.
Im Modus "Erzwingen" wird die Messaging-Engine so schnell wie möglich beendet. Ein nachfolgender Neustart der Messaging-Engine kann länger als nach einem Stopp im Modus "Sofort" dauern, weil mehr Wiederherstellungsaktionen erforderlich sind. Beim Stoppen im Modus "Erzwingen" können Nachrichten mit unbestätigten Transaktionen zurückbleiben. Der Umgang mit diesen Nachrichten ist im Artikel Unbestätigte Transaktionen auflösen beschrieben.
Falls das Stoppen im Modus "Sofort" zu lange dauert, kann es in ein Stoppen im Modus "Erzwingen" hochgestuft werden.
Stoppmechanismus | Sofort | Erzwingen |
---|---|---|
Administrationskonsole | Ja | Ja |
JMX-Befehl stop | Ja | Ja |
Befehl stopServer | Ja | Nein |