## org.h2.test.unit
Class SelfDestructor

    java.lang.Object
      java.lang.Thread
          org.h2.test.unit.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