This patch adds support for wrapper running in
"persistent" mode, where it never exits, it only
manages the lifecycle of its child JVM.
A target use for this style wrapper would be one that
was invoked from inittab, so wrapper would live
forever, ensuring that the JVM was always up.
Admittedly, some more work is needed to handle the case
where wrapper dies, but the JVM lives on (to avoid
trying to start a 2nd managed instance without killing
the first one).
This adds support for the boolean configuration
property "wrapper.persistent" and support for sending
SIGUSR1 to the wrapper instance to cause it to restart
the child JVM. This allows the JVM to exit normally and
be brought back to life with a SIGUSR1, since "restart"
becomes "start" with no child process.
It works for me. :-)
Patch against 3.1.2 to modify the state machine for extended life