Class ShutdownThread

  • All Implemented Interfaces:
    java.lang.Runnable

    public class ShutdownThread
    extends java.lang.Thread
    ShutdownThread is a shutdown hook thread implemented as singleton that maintains a list of lifecycle instances that are registered with it and provides ability to stop these lifecycles upon shutdown of the Java Virtual Machine
    • Nested Class Summary

      • Nested classes/interfaces inherited from class java.lang.Thread

        java.lang.Thread.State, java.lang.Thread.UncaughtExceptionHandler
    • Constructor Summary

      Constructors 
      Modifier Constructor Description
      private ShutdownThread()
      Default constructor for the singleton Registers the instance as shutdown hook with the Java Runtime
    • Method Summary

      All Methods Static Methods Instance Methods Concrete Methods 
      Modifier and Type Method Description
      static void deregister​(LifeCycle lifeCycle)  
      static ShutdownThread getInstance()
      Returns the instance of the singleton
      private void hook()  
      static boolean isRegistered​(LifeCycle lifeCycle)  
      static void register​(int index, LifeCycle... lifeCycles)  
      static void register​(LifeCycle... lifeCycles)  
      void run()  
      private void unhook()  
      • Methods inherited from class java.lang.Thread

        activeCount, checkAccess, clone, countStackFrames, currentThread, dumpStack, enumerate, getAllStackTraces, getContextClassLoader, getDefaultUncaughtExceptionHandler, getId, getName, getPriority, getStackTrace, getState, getThreadGroup, getUncaughtExceptionHandler, holdsLock, interrupt, interrupted, isAlive, isDaemon, isInterrupted, join, join, join, onSpinWait, resume, setContextClassLoader, setDaemon, setDefaultUncaughtExceptionHandler, setName, setPriority, setUncaughtExceptionHandler, sleep, sleep, start, stop, suspend, toString, yield
      • Methods inherited from class java.lang.Object

        equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
    • Field Detail

      • LOG

        private static final Logger LOG
      • _hooked

        private boolean _hooked
      • _lifeCycles

        private final java.util.List<LifeCycle> _lifeCycles
    • Constructor Detail

      • ShutdownThread

        private ShutdownThread()
        Default constructor for the singleton Registers the instance as shutdown hook with the Java Runtime
    • Method Detail

      • hook

        private void hook()
      • unhook

        private void unhook()
      • getInstance

        public static ShutdownThread getInstance()
        Returns the instance of the singleton
        Returns:
        the singleton instance of the ShutdownThread
      • register

        public static void register​(LifeCycle... lifeCycles)
      • register

        public static void register​(int index,
                                    LifeCycle... lifeCycles)
      • deregister

        public static void deregister​(LifeCycle lifeCycle)
      • isRegistered

        public static boolean isRegistered​(LifeCycle lifeCycle)
      • run

        public void run()
        Specified by:
        run in interface java.lang.Runnable
        Overrides:
        run in class java.lang.Thread