X4 Server kontrolliert herunterfahren (via JMX)
Ein kontrolliertes Herunterfahren des X4 Servers im laufenden Betrieb stellt sicher, dass alle aktuell ausgeführten Prozesse vollständig ausgeführt und keine Prozesse mehr gestartet werden.
Voraussetzungen zum Herunterfahren
Es muss bei allen Prozessen, die nicht während der Ausführung abgebrochen werden dürfen, die Eigenschaft Can Stop
deaktiviert sein. Zudem müssen Endlosprozesse so modelliert sein, dass sie in regelmäßigen Abständen die Verarbeitung unterbrechen, damit sie gestoppt werden können.
Je nach Warteschlangen-Adapter ist dies wie folgt möglich:
JMS und RequestReply Transfer: In Parameter
timeout
eine entsprechende Zeitbeschränkung setzen. Wenn der Adapter den Status 0 zurückgibt, ist die Warteschlange leer und die Prozesskontrolle wird dem Adapter zurückgegeben, sodass der Prozess anhalten kann.MQ Series Transfer und WebSphere MQ: Parameter
MQGetMessageOptions.options.MQC.MQGMO_WAIT
aktivieren, um das Warten auf eine Nachricht zu aktivieren, und in ParameterMQGetMessageOptions.waitInterval
eine Zeitdauer in Millisekunden angeben, die beim Auslesen gewartet wird, bis eine geeignete Nachricht ankommen kann.
Die MBean
X4Management
aufrufen:Das Werkzeug jconsole starten.
JMX MBean
X4Management
in einer Domainde.softproject.X4
aufrufen.
Die MBean-Methode
setAllOutOfService()
ausführen.
Für alle Prozesse wird damit die EigenschaftOutOfService
gesetzt. Dies bewirkt, dass keine Prozesse mehr gestartet werden.Die MBean-Methode
stopAllProcesses()
ausführen.
Alle momentan ausgeführten Prozesse, die abgebrochen werden dürfen, werden damit beendet.Warten, bis die MBean-Methode
runningWorkflowCount() 0
anzeigt.
Nun wird kein Prozess mehr ausgeführt.Alternativ können Sie auch die Methode
shutdownAllProcesses(longtimeoutInMS)
aufrufen. Dies bewirkt, dass die MBean-MethodensetAllOutOfService()
,stopAllProcesses()
undrunningWorkflowCount()
nacheinander ausgeführt werden.In ParamValue eine Zeitbegrenzung in Millisekunden angeben, die die Methode als Parameter
longtimeoutInMS
erhält.Auf Invoke klicken, um die Methode auszuführen. Diese gibt
True
zurück, wennrunningWorkflowCount()
innerhalb der Zeitbeschränkung0
anzeigt.
X4 Server herunterfahren.