org.h2.test.utils
Class SelfDestructor

java.lang.Object
  extended by java.lang.Thread
      extended by org.h2.test.utils.SelfDestructor
All Implemented Interfaces:
java.lang.Runnable

public class SelfDestructor
extends java.lang.Thread

This is a self-destructor class to kill a long running process automatically after a pre-defined time. The class reads the number of minutes from the system property 'h2.selfDestruct' and starts a countdown thread to kill the virtual machine if it still runs then.


Nested Class Summary
 
Nested classes/interfaces inherited from class java.lang.Thread
java.lang.Thread.State, java.lang.Thread.UncaughtExceptionHandler
 
Field Summary
 
Fields inherited from class java.lang.Thread
MAX_PRIORITY, MIN_PRIORITY, NORM_PRIORITY
 
Constructor Summary
SelfDestructor()
           
 
Method Summary
static java.lang.String getPropertyString(int minutes)
          Get the string to be added when starting the Java process.
static void startCountdown(int defaultMinutes)
          Start the countdown.
 
Methods inherited from class java.lang.Thread
activeCount, checkAccess, countStackFrames, currentThread, destroy, dumpStack, enumerate, getAllStackTraces, getContextClassLoader, getDefaultUncaughtExceptionHandler, getId, getName, getPriority, getStackTrace, getState, getThreadGroup, getUncaughtExceptionHandler, holdsLock, interrupt, interrupted, isAlive, isDaemon, isInterrupted, join, join, join, resume, run, setContextClassLoader, setDaemon, setDefaultUncaughtExceptionHandler, setName, setPriority, setUncaughtExceptionHandler, sleep, sleep, start, stop, stop, suspend, toString, yield
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
 

Constructor Detail

SelfDestructor

public SelfDestructor()
Method Detail

startCountdown

public static void startCountdown(int defaultMinutes)
Start the countdown. If the self-destruct system property is set, this value is used, otherwise the given default value is used.

Parameters:
defaultMinutes - the default number of minutes after which the current process is killed.

getPropertyString

public static java.lang.String getPropertyString(int minutes)
Get the string to be added when starting the Java process.

Parameters:
minutes - the countdown time in minutes
Returns:
the setting