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

Index

wrapper.ping.timeout

Kompatibel : 1.0.0
Editionen :Professional EditionStandard EditionCommunity Edition
Betriebssysteme :WindowsMac OSXLinuxIBM AIXFreeBSDHP-UXSolarisIBM z/OSIBM z/Linux

WARNING

Bitte ändern Sie NICHT irgendeinen dieser Parameter, solange Sie nicht diese Eigenschaftsbeschreibung gelesen haben. Inkorrekte Einstellungen können zur Folge haben, dass der Wrapper nicht wie erwartet funktioniert.

Erlaubte Sekundenzahldauer zwischen zwei Ping-Antworten von der JVM ausgehend.

Der Standardwert ist "30 Sekunden".

Beispiel:
wrapper.ping.timeout=30

Das Festlegen dieses Eigenschaftenwerts auf "0" (Null) bedeutet, dass es niemals einen Time-out geben wird. Der Ping-Time-out muss wenigstens 5 Sekunden länger als der Wert von wrapper.ping.interval sein. Der Wrapper verändert, wenn notwendig, den Wert zur Laufzeit, um Probleme zu vermeiden.

In normalen Betrieb pingt der Wrapper die JVM einmal alle 5 Sekunden, um sicherzustellen, dass sein Prozess nicht "eingefroren" ist. Der Ping-Time-out ist die Zeitdauer, die für 2 Antworten von der JVM gegeben wird, bevor der Wrapper annimmt, dass diese "aufgehängt" ist und sie neu startet.

Diese Eigenschaft kontrolliert auch die Zeitdauer, die der JVM gegeben wird, ohne dass sie seitens des Wrappers gepingt wird. Wenn der Wrapper die JVM für länger als die angegebene Time-out-Zeit nicht anpingt, wird diese beendet, indem sie den Wrapper erlaubt, sich durch das Starten einer JVM neu zu synchronisieren. Dies stellt auch sicher, dass die JVM sich beenden wird, wenn der Wrapper-Prozess auf abnormale Weise beendet wurde. (Durch das zwangsweise Beenden des Wrapper-Prozesses im Windows Task Manager, oder durch Nutzung des Befehls "kill -9" Signals auf UNIX-Systemen.)

Mit dem Hinzufügen der wrapper.cpu.timeout Eigenschaft, gibt es jetzt fast keinen Grund, warum Sie diese Eigenschaft jemals ändern sollten. Die einzigen Gründen, warum Sie Ping-Timeouts bekommen sollten, sind wenn das System unter hoher Last steht oder wenn die JVM wirklich hängt. Die CPU-Timeout sollte jetzt jegliche Probleme erkennen, die Sie mit der CPU haben.

WARNING

Während die Fähigkeit vorhanden ist, seien Sie sich bitte bewusst, dass das Festlegen dieser Eigenschaft auf den Wert "0" (Null) (= Timeout deaktivieren) oder einen großen Wert bedeutet, dass die Fähigkeit des Wrappers festzustellen, dass eine JVM beim Ausführen hängt, deaktiviert wird.

Beachten Sie bitte auch, dass wenn der Wrapper-Prozess vorzeitig beendet wurde oder, was wir nicht hoffen, abgestürzt ist, dann wird die JVM niemals versuchen, sich mit dem Wrapper zu resynchronisieren. Wenn der Wrapper derzeitig als ein Windows-Dienst wurde, mag es notwendig sein, dann die Maschine neu zu starten, um den Java-Prozess zu beenden. Bei normalen Ping-Timeouts würde die JVM sich selbst nach ein paar Sekunden beenden.

Während die wrapper.java.detect_debug_jvm Eigenschaft auf "TRUE" festgelegt ist und das Debugger-Erkennen funktioniert, wird diese "timeout"-Eigenschaft ignoriert werden.

wrapper.ping.timeout.action

Kompatibel :3.5.16
Editionen :Professional EditionStandard EditionCommunity Edition
Betriebssysteme :WindowsMac OSXLinuxIBM AIXFreeBSDHP-UXSolarisIBM z/OSIBM z/Linux

Diese Eigenschaft erlaubt, eine bestimmte Aktion zu definieren, die ausgeführt wird, wann immer ein Ping-Timeout nach der Anzahl an Sekunden, die in wrapper.ping.timeout Eigenschaft oben definiert wurden, stattfindet.

Aus Gründen der Konsistenz und der Rückwärtskompatibilität ist die definierte Standardaktion RESTART.

Beispiel:
wrapper.ping.timeout.action=RESTART

Mögliche Aktionen sind:

  • DEBUG (Seit Ver. 3.5.0) :

    sorgt dafür, dass eine Debug-Nachricht geloggt wird. Dies ist wirklich nur nützlich, um besser zu verstehen, wann die Aktion gestartet wird.

  • DUMP (Seit Ver. 3.3.6) :

    wird ein Thread-Dump aufgerufen.

  • GC (Seit Ver. 3.5.7) :

    wird ein vollständiger Speicherreinigungsvorgang (GC) in der JVM aufgerufen. Seien Sie sich bitte bewusst, dass das häufige Ausführen dieses Vorgangs das Leistungsvermögen der JVM beeinträchtigen kamnn, da eine vollständige Reinigung oft bewirkt, dass alle Threads für die Dauer der GC blockiert werden.

  • RESTART :

    beendet die gegenwärtige JVM und startet dann einen neuen Aufruf.

  • SHUTDOWN :

    beendet die JVM wie auch den Wrapper.

  • USER_<n> (Seit Ver. 3.5.0, Professional Edition) :

    bewirkt dies, dass ein benutzerdefiniertes Ereignis gestartet wird. Dies kann entweder das Versenden einer Email, oder die Ausführung eines externen Systembefehls sein. Der Befehl könnte alles Mögliche sein, vom Ausführen eines Reinigungsvorgangs bis zur Bereitstellung eines SNMP-Traps.

  • PAUSE (Seit Ver. 3.5.0) :

    unterbricht die Java-Anwendung, wenn das Pausieren aktiviert ist und die JVM läuft. Sehen Sie die wrapper.pausable Eigenschaft für mehr Details.

  • RESUME (Seit Ver. 3.5.0) :

    setzt die Java-Anwendung fort, wenn diese sich in einem unterbrochenen Zustand befand. Dies könnte genutzt werden, wenn die JVM nicht beendet wurde, wen sie sich in einem unterbrochenen Zustand befindet. Sehen Sie die wrapper.pausable Eigenschaft für Details.

  • SUCCESS (Seit Ver. 3.5.5) :

    sagt es dem Wrapper, seinen internen Zähler über Aufruffehler zurücksetzen und den aktuellen JVM-Aufruf als "erfolgreich"zu zählen. Dies kann in Anwendungen nützlich sein, die entworfen wurden, in ziemlich kurzen Zeitabständen neu zu starten.

  • NONE :

    ist nützlich, weil es verhindert, dass alle Trigger mit einer höheren Zahl ausgeführt werden.

NOTE

Bitte beachten Sie, dass, wenn die JVM komplett "eingefroren" ist, ein paar der Aktionen jedoch nicht von der JVM, z.B. GC, DUMP verarbeitet werden können.

Verketten von mehrfachen Aktionen:

Es ist möglich, mehr als eine Aktion zu spezifizieren, indem diese durch eine Leerstelle oder Komma getrennt werden. Wenn mehr als eine Aktion spezifiziert wurde, werden diese in schneller Abfolge in der spezifizierten Reihenfolge ausgeführt.

Das folgende Beispiel versucht, einen Thread-Dump auszuführen und dann die JVM neuzustarten . Der Thread-Dump erfolgt nur, wenn die JVM nicht vollständig "eingefroren" ist.

Beispiel:
wrapper.ping.timeout.action=DUMP,RESTART

Verweis: Ping

Verweis: Timeout