World Map
Java Service Wrapper ist der einfachste Weg, um Ihr Produkt zuverlässiger, sicherer zu machen.
  • Free Trial
  • Buy Now
wrapper.jvm_cleanup.timeout Eigenschaft

wrapper.jvm_cleanup.timeout

Kompatibel :3.4.0
Editionen :Professional EditionStandard Edition (Not Supported)Community Edition (Not Supported)
Betriebssysteme :WindowsMac OSXLinuxIBM AIXFreeBSDHP-UXSolarisIBM z/OSIBM z/Linux

WARNING

Ändern Sie NICHT irgendeinen dieser Parameter, bevor Sie nicht diese Beschreibung der Eigenschaft gelesen haben. Inkorrekte Einstellungen können bewirken, dass der Wrapper nicht wie erwartet funktioniert.

Maximale Anzahl an Sekunden, die dem Wrapper für eine Speicherbereinigung gewährt werden, nachdem die JVM komplett beendet wurde und vor dem Starten des Prozesses, entweder eine neue JVM zu starten oder den Wrapper zu beenden. Das Setzen dieses Eigenschaftwertes auf "0" (Null) bedeutet, das niemals ein Timeout erfolgen soll.

Der Standardwert ist "10 Sekunden".

Beispiel:
wrapper.jvm_cleanup.timeout=10

Der Speicherbereinigungsprozess besteht aus Beenden von Kindprozessen, die durch Nutzung der WrapperManager.exec() Methoden ohne das Setzen des Flag-Zeichens für eines getrennt, unabhängig ablaufenden Prozesses gestartet wurden.

Der Wrapper versucht alle Kindprozesse, die nach dem korrekten Beenden der JVM noch laufen, zu beenden. Auf UNIX-Plattformen erfolgt dies durch das Senden eines SIGTERM an jeden Prozess und anschließendes Warten, dass diese sich beenden. Auf Windows-Plattformen wird ein CTRL-C Signal an die Konsolenanwendungen gesendet, und WM_CLOSE Nachrichten werden an jedes Fenster, das einem Kindprozess gehört, gesendet. Viele Windows-Anwendungen mögen "Speichern"-Dialoge anzeigen, wenn sie gefragt werden, sich zu beenden und mögen sich so nicht komplett von selbst beenden.

Wenn festgestellt wurde, dass alle Kindprozesse beendet wurden, dann wird der Wrapper seine Arbeit fortsetzen, bevor der Timeout-Zeitraum ausläuft.

Sobald der Timeout ausläuft, wird der Wrapper die Beendigung aller noch laufenden Kindprozesse erzwingen. Auf UNIX-Plattformen kann dies durch das Senden eines SIGKILL an jeden Prozess erfolgen. Unter Windows wird der Prozess zwangsweise beendet werden.

Informationen über Kindprozesse werden nur geloggt werden, wenn DEBUG output aktiviert ist, oder wenn die wrapper.child.status.loglevel Eigenschaft auf eine Ebene gesetzt ist, die sichtbar sein wird.

Fallbeispiel:

Das folgende Beispiel zeigt ein Beispiel von 3 Kindprozessen, die korrekt beendet wurden. 2 wurden sofort beendet, und der dritte hat ein paar Sekunden gedauert.

wrapper  | Beendigung des verwalteten Kindprozesses anfordern.  PID: 1852
wrapper  | Anforderung des Beenden des verwalteten Kindprozesses. PID: 3584
wrapper  | Anforderung des Beenden des verwalteten Kindprozesses. PID: 3944
wrapper  | 3 verwaltete Kindprozesse laufen immer noch.
wrapper  | Beendigung des verwalteten Kindprozesses bestätigt. PID: 1852
wrapper  | Beendigung des verwalteten Kindprozesses bestätigt. PID: 3584
wrapper  | 1 verwalteter Kindprozess läuft immer noch.
wrapper  | 1 verwalteter Kindprozess läuft immer noch.
wrapper  | Beendigung des verwalteten Kindprozesses bestätigt. PID: 3944
wrapper  | Beendigung aller verwalteten Kindprozesse bestätigt.
wrapper  | <-- Wrapper beendet

Das folgende Beispiel zeigt 2 Kindprozesse, die korrekt beendet wurden, und ein dritter Prozess, der ein Timeout erfährt und zwangsweise beendet wird.

wrapper  | Requesting shutdown of managed child process. PID: 3276
wrapper  | Anforderung des Beenden des verwalteten Kindprozesses. PID: 3328
wrapper  | Anforderung des Beenden des verwalteten Kindprozesses. PID: 1200
wrapper  | 3 verwaltete Kindprozesse laufen immer noch.
wrapper  | Beendigung des verwalteten Kindprozesses bestätigt.  PID: 3276
wrapper  | Beendigung des verwalteten Kindprozesses bestätigt.  PID: 3328
wrapper  | 1 verwalteter Kindprozess läuft immer noch.
wrapper  | 1 verwalteter Kindprozess läuft immer noch.
wrapper  | 1 verwalteter Kindprozess läuft immer noch.
wrapper  | 1 verwalteter Kindprozess läuft immer noch.
wrapper  | Beendigung des verwalteten Kindprozesses erzwingen.  PID: 1200
wrapper  | Beendigung des verwalteten Kindprozesses bestätigt.  PID: 1200
wrapper  | Beendigung aller verwalteten Kindprozesse bestätigt.
wrapper  | <-- Wrapper beendet

WARNING

Während die Fähigkeit gegeben ist, beachten Sie bitte, dass das Setzen dieses Eigenschaftwerts auf "0" (Null) (= Timeout deaktivieren) oder auf einen großen Wert bedeutet, dass der Wrapper beim Beenden-Prozess hängen könnte oder niemals in die Lage käme, die JVM neu zu starten. Es könnte auch notwendig werden, manuell die Kindprozesse zu beenden, damit der Wrapper seine Arbeit fortsetzen könne.

Verweis: Timeout