World Map
Java Service Wrapper is the easiest way to make your product more reliable.
  • Free Trial
  • Buy Now
wrapper.ping.timeout Property

Index

wrapper.ping.timeout

Compatibility : 1.0.0
Editions :Professional EditionStandard EditionCommunity Edition
Platforms :WindowsMac OSXLinuxIBM AIXFreeBSDHP-UXSolarisIBM z/OSIBM z/Linux

WARNING

DO NOT modify any of these parameters unless you have read this property description. Incorrect settings can cause the Wrapper to fail to operate as expected.

Number of seconds to allow between two ping responses coming from the JVM.

The default value is "30 seconds".

Example:
wrapper.ping.timeout=30

Setting this property value to "0" (zero) means never time out. The ping timeout must be at least 5 seconds longer than the value of wrapper.ping.interval. The Wrapper will modify the value at run time if necessary to avoid problems.

In normal operation, the Wrapper pings the JVM once every 5 seconds to make sure that its process has not frozen up. The ping timeout is the amount of time to allow for 2 responses from the JVM before the Wrapper assumes that it is hung and restarts it.

This property also controls the amount of time that the JVM will allow to pass without being pinged by the Wrapper. If the Wrapper does not ping the JVM for longer than the specified timeout, it will exit allowing the Wrapper to resynch by launching a new JVM. This also makes sure that the JVM will exit if the Wrapper process is terminated abnormally. (By killing the Wrapper process in the Windows Task Manager, or using "kill -9" signal on UNIX systems.)

With the addition of the wrapper.cpu.timeout property, there is now almost no reason why you should ever need to change this property. The only reasons why you should be getting ping timeouts are if the system is under heavy load or if the JVM is really hung. The CPU timeout should now detect any problems in with CPU.

WARNING

While the ability is there, be aware that setting this property value to "0" (zero) (= disable Timeout) or some large value will mean that the Wrapper's ability to detect a JVM hang as it is running will be disabled.

Also note that if the Wrapper process is killed abnormally or God forbid crashes, then the JVM will never attempt to resynch with the Wrapper. If the Wrapper was running as a Windows Service at the time, it may be necessary to then reboot the machine to stop Java process. With normal ping timeouts, the JVM would exit on its own after a few seconds.

While the wrapper.java.detect_debug_jvm property is set to "TRUE" and the Debugger Detection is functioning, this "timeout" property will be ignored.

wrapper.ping.timeout.action

Compatibility :3.5.16
Editions :Professional EditionStandard EditionCommunity Edition
Platforms :WindowsMac OSXLinuxIBM AIXFreeBSDHP-UXSolarisIBM z/OSIBM z/Linux

This property allows to specify a certain action, which will be performed, whenever a ping timeout takes place after the seconds specified in wrapper.ping.timeout property above. The actions are based on the actions, which are commonly usable at various places in the Wrapper, e.g. deadlock, event, filter, etc.

For consistency and backwards compatibility is the default action specified as RESTART.

Example:
wrapper.ping.timeout.action=RESTART

Possible actions are:

  • DEBUG (Since ver. 3.5.0) :

    will cause a debug message to be logged. This is only really useful in helping to understand when the action is fired.

  • DUMP (Since ver. 3.3.6) :

    will invoke a thread dump.

  • GC (Since ver. 3.5.7) :

    will invoke a full garbage collection sweep in the JVM. Be aware that doing this frequently can affect performance of the JVM as a full sweep will often cause all threads to freeze for the duration of the GC.

  • RESTART :

    will stop the current JVM and then restart a new invocation.

  • SHUTDOWN :

    will stop the JVM as well as the Wrapper.

  • USER_<n> (Since ver. 3.5.0, Professional Edition) :

    will cause a user defined event to be fired. This can be either the sending of an email, or the execution of an external system command. The command could be anything from performing clean up operations to raising an SNMP trap.

  • PAUSE (Since ver. 3.5.0) :

    will pause the Java application if pausing is enabled and the JVM is running. See the wrapper.pausable property for details.

  • RESUME (Since ver. 3.5.0) :

    will resume the Java application if it is in a paused state. This could be used if the JVM is not stopped when paused. See the wrapper.pausable property for details.

  • SUCCESS (Since ver. 3.5.5) :

    will tell the Wrapper to reset its internal failed invocation count and count the current JVM invocation as "successful". This can be useful in applications which are designed to restart with a fairly short frequency.

  • NONE :

    is useful because it will prevent any triggers with a higher number from being triggered.

NOTE

Please note that if the JVM is completely frozen, some of the actions might however not being able to be processed by the JVM, e.g. GC, DUMP

Chaining Multiple Actions:

It is possible to specify more than one action by separating them with a space or comma. When more than one action is specified, they will be executed in rapid succession in the order specified.

The following example will attempt to perform a thread dump and then restart the JVM. The thread dump will only take place if the JVM is not fully frozen.

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

Reference: ping

Reference: Timeout