Class ParentListener

  • All Implemented Interfaces:
    java.lang.Runnable

    public class ParentListener
    extends java.lang.Thread
    A class for detecting if the parent JVM that launched this process has terminated.
    Author:
    Patrick Luby
    • 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

      Constructors 
      Constructor Description
      ParentListener​(java.lang.String path)
      Validates and caches a lock file created by the parent JVM.
    • Method Summary

      All Methods Instance Methods Concrete Methods 
      Modifier and Type Method Description
      void run()
      Periodically check that the parent JVM has not terminated.
      • 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
    • Constructor Detail

      • ParentListener

        public ParentListener​(java.lang.String path)
                       throws java.io.IOException
        Validates and caches a lock file created by the parent JVM.
        Parameters:
        path - the lock file that the parent JVM has an open FileOutputStream
        Throws:
        java.io.IOException - if the heartbeat cannot be converted into a valid File object
    • Method Detail

      • run

        public void run()
        Periodically check that the parent JVM has not terminated. On all platforms other than Windows, this method will check that System.in has not been closed. On Windows NT, 2000, and XP the lock file specified in the ParentListener(String) constructor is monitored as reading System.in will block the entire process on Windows machines that use some versions of Unix shells such as MKS, etc. No monitoring is done on Window 95, 98, and ME.
        Specified by:
        run in interface java.lang.Runnable
        Overrides:
        run in class java.lang.Thread