|
||||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |
java.lang.Objectorg.tanukisoftware.wrapper.WrapperSimpleApp
public class WrapperSimpleApp
By default the WrapperSimpleApp 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.WrapperSimpleApp.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.WrapperSimpleApp.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.
Constructor Summary | |
---|---|
protected |
WrapperSimpleApp(String[] args)
Creates an instance of a WrapperSimpleApp. |
Method Summary | |
---|---|
void |
controlEvent(int event)
Called whenever the native wrapper code traps a system control signal against the Java process. |
static void |
main(String[] 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. |
Methods inherited from class java.lang.Object |
---|
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait |
Constructor Detail |
---|
protected WrapperSimpleApp(String[] args)
The
- full list of arguments passed to the JVM.Method Detail |
---|
public void run()
run
in interface Runnable
public Integer start(String[] args)
start
in interface WrapperListener
args
- List of arguments used to initialize the application.
public int stop(int exitCode)
stop
in interface WrapperListener
exitCode
- The suggested exit code that will be returned to the OS
when the JVM exits. If WrapperManager.stop was called
to stop the JVM then this exit code will reflect that
value. However, if System.exit or Runtime.halt were
used then this exitCode will always be 0. In these
cases, the Wrapper process will be able to detect the
actual JVM exit code and handle it correctly.
public void controlEvent(int event)
controlEvent
in interface WrapperListener
event
- The system control signal.protected void showUsage()
public static void main(String[] args)
|
||||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |