edu.sdsc.inca
Class Server.ServerShutdownHook

java.lang.Object
  extended by java.lang.Thread
      extended by edu.sdsc.inca.Server.ServerShutdownHook
All Implemented Interfaces:
java.lang.Runnable
Enclosing class:
Server

protected class Server.ServerShutdownHook
extends java.lang.Thread

This Class is run in a seperate thread when the server is shut down using ^C or SIGINT. If it is shutdown using SIGKILL then none of the cleanup will be done - which is a problem.


Nested Class Summary
 
Nested classes/interfaces inherited from class java.lang.Thread
java.lang.Thread.State, java.lang.Thread.UncaughtExceptionHandler
 
Field Summary
protected  Server server
           
 
Fields inherited from class java.lang.Thread
MAX_PRIORITY, MIN_PRIORITY, NORM_PRIORITY
 
Constructor Summary
Server.ServerShutdownHook(Server server)
          Create a new shutdown hook and attach it to the given server.
 
Method Summary
 void run()
          Notify the server of a shutdown request.
 
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
 

Field Detail

server

protected Server server
Constructor Detail

Server.ServerShutdownHook

public Server.ServerShutdownHook(Server server)
Create a new shutdown hook and attach it to the given server.

Parameters:
server - server that may need shut down
Method Detail

run

public void run()
Notify the server of a shutdown request.

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