org.tanukisoftware.wrapper
Class WrapperStartStopApp
java.lang.Object
org.tanukisoftware.wrapper.WrapperStartStopApp
- Runnable, WrapperListener
public class WrapperStartStopApp
extends java.lang.Object
By default the WrapperStartStopApp will only wait for 2 seconds for the main
method of the start class to complete. This was done because the main
methods of many applications never return. It is possible to force the
class to wait for the startup main method to complete by defining the
following system property when launching the JVM (defaults to FALSE):
-Dorg.tanukisoftware.wrapper.WrapperStartStopApp.waitForStartMain=TRUE
Using the waitForStartMain property will cause the startup to wait
indefinitely. This is fine if the main method will always return
within a predefined period of time. But if there is any chance that
it could hang, then the maxStartMainWait property may be a better
option. It allows the 2 second wait time to be overridden. To wait
for up to 5 minutes for the startup main method to complete, set
the property to 300 as follows (defaults to 2 seconds):
-Dorg.tanukisoftware.wrapper.WrapperStartStopApp.maxStartMainWait=300
It is possible to extend this class but make absolutely sure that any
overridden methods call their super method or the class will fail to
function correctly. Most users will have no need to override this
class.
NOTE - The main methods of many applications are designed not to
return. In these cases, you must either stick with the default 2 second
startup timeout or specify a slightly longer timeout, using the
maxStartMainWait property, to simulate the amount of time your application
takes to start up.
WARNING - If the waitForStartMain is specified for an application
whose start method never returns, the Wrapper will appear at first to be
functioning correctly. However the Wrapper will never enter a running
state, this means that the Windows Service Manager and several of the
Wrapper's error recovery mechanisms will not function correctly.
void | controlEvent(int event) - Called whenever the native wrapper code traps a system control signal
against the Java process.
|
static void | main(args[] ) - Used to Wrapper enable a standard Java application.
|
void | run() - Used to launch the application in a separate thread.
|
protected void | showUsage() - Displays application usage
|
Integer | start(String[] args) - The start method is called when the WrapperManager is signalled by the
native wrapper code that it can start its application.
|
int | stop(int exitCode) - Called when the application is shutting down.
|
WrapperStartStopApp
protected WrapperStartStopApp(Method startMainMethod,
Method stopMainMethod,
boolean stopWait,
String[] stopMainArgs)
WrapperStartStopApp
protected WrapperStartStopApp(args[] )
controlEvent
public void controlEvent(int event)
Called whenever the native wrapper code traps a system control signal
against the Java process. It is up to the callback to take any actions
necessary. Possible values are: WrapperManager.WRAPPER_CTRL_C_EVENT,
WRAPPER_CTRL_CLOSE_EVENT, WRAPPER_CTRL_LOGOFF_EVENT, or
WRAPPER_CTRL_SHUTDOWN_EVENT
- controlEvent in interface WrapperListener
main
public static void main(args[] )
Used to Wrapper enable a standard Java application. This main
expects the first argument to be the class name of the application
to launch. All remaining arguments will be wrapped into a new
argument list and passed to the main method of the specified
application.
run
public void run()
Used to launch the application in a separate thread.
showUsage
protected void showUsage()
Displays application usage
start
public Integer start(String[] args)
The start method is called when the WrapperManager is signalled by the
native wrapper code that it can start its application. This
method call is expected to return, so a new thread should be launched
if necessary.
If there are any problems, then an Integer should be returned, set to
the desired exit code. If the application should continue,
return null.
- start in interface WrapperListener
stop
public int stop(int exitCode)
Called when the application is shutting down.
- stop in interface WrapperListener
Copyright 1999, 2006 Tanuki Software Inc., All Rights Reserved.