Index |
Deadlock?: Deadlocks can occur when two or more threads are locking resources in an order which results in all threads waiting indefinitely. The simplest example is where Thread A locks Object A and then attempts to lock Object B, while another Thread B has Object B locked and is waiting to lock Object A. In this case, Thread A will never release Object A because it is waiting for Object B. This will never happen because Thread B will keep Object B locked indefinitely as it waits for Object A to become available. |
wrapper.check.deadlock.interval | ||||||||
The wrapper.check.deadlock.interval property makes it possible to control the interval at which the Wrapper looks for deadlocks in an application. It can be set to any interval starting with once per second, but The default value is "60" seconds (once per minute). In general, for applications which are known to be stable, it may be fine to greatly decrease the frequency of these deadlock checks.
|
wrapper.check.deadlock.action | ||||||||||
The wrapper.check.deadlock.action property makes it possible to control what the Wrapper does when a deadlock is detected. The default action is to RESTART.
Possible actions are:
Note that actions, like "NONE", which do not restart the JVM will repeatedly be fired each time the deadlock check is made. Chaining Multiple Actions: It is also possible to list multiple actions so they each happen in the order specified.
|
wrapper.check.deadlock.output | ||||||||||||||
The wrapper.check.deadlock.output property makes it possible to control what information the Wrapper causes to be logged when a deadlock is detected. The default output level is FULL.
Possible output levels are:
|