de.malowa
Class ShutdownHook

java.lang.Object
  extended by java.lang.Thread
      extended by de.malowa.ShutdownHook
All Implemented Interfaces:
java.lang.Runnable

public class ShutdownHook
extends java.lang.Thread

The ShutdownHook will be called when the Postfix service terminates. It ensures that all database connection will be closed. Other classes implementing the interface ShutdownWatcher can be registered. They will be informed of the termination and may also free resources safely.

Author:
Marcel Lohmann

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
ShutdownHook()
           
 
Method Summary
 void register(ShutdownWatcher watcher)
          Registers a class that will be notified when the program shuts down.
 void run()
          Informs all registered classes of shutdown and shuts down all the databases.
 
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, 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

ShutdownHook

public ShutdownHook()
Method Detail

run

public void run()
Informs all registered classes of shutdown and shuts down all the databases. After execution the program is unusable and can be terminated safely.

Specified by:
run in interface java.lang.Runnable
Overrides:
run in class java.lang.Thread

register

public void register(ShutdownWatcher watcher)
Registers a class that will be notified when the program shuts down.

Parameters:
watcher - that will be notified