org.opends.server.core
Class ServerShutdownMonitor

java.lang.Object
  extended by java.lang.Thread
      extended by org.opends.server.core.ServerShutdownMonitor
All Implemented Interfaces:
java.lang.Runnable

public class ServerShutdownMonitor
extends java.lang.Thread

This class defines a daemon thread that will be used to monitor the server shutdown process and may help nudge it along if it appears to get hung.


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
ServerShutdownMonitor()
          Creates a new instance of this shutdown monitor thread that will collect information about the threads that need to be watched to ensure that they shut down properly.
 
Method Summary
 void run()
          Operates in a loop, waiting for all threads to be stopped.
 void waitForMonitor()
          Waits for the monitor thread to complete any necessary processing.
 
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

ServerShutdownMonitor

public ServerShutdownMonitor()
Creates a new instance of this shutdown monitor thread that will collect information about the threads that need to be watched to ensure that they shut down properly.

Method Detail

run

public void run()
Operates in a loop, waiting for all threads to be stopped. At certain milestones, if there are threads still running then it will attempt to get them to stop.

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

waitForMonitor

public void waitForMonitor()
Waits for the monitor thread to complete any necessary processing. This method will not return until the monitor thread has stopped running.