@InterfaceAudience.Public @InterfaceStability.Evolving public final class ShutdownHookManager extends Object
ShutdownHookManager enables running shutdownHook
 in a deterministic order, higher priority first.
 
 The JVM runs ShutdownHooks in a non-deterministic order or in parallel.
 This class registers a single JVM shutdownHook and run all the
 shutdownHooks registered to it (to this class) in order based on their
 priority.
 Unless a hook was registered with a shutdown explicitly set through
 addShutdownHook(Runnable, int, long, TimeUnit),
 the shutdown time allocated to it is set by the configuration option
 CommonConfigurationKeysPublic.SERVICE_SHUTDOWN_TIMEOUT in
 core-site.xml, with a default value of
 CommonConfigurationKeysPublic.SERVICE_SHUTDOWN_TIMEOUT_DEFAULT
 seconds.| Modifier and Type | Field and Description | 
|---|---|
| static TimeUnit | TIME_UNIT_DEFAULTThe default time unit used: seconds. | 
| static long | TIMEOUT_MINIMUMMinimum shutdown timeout: 1L second(s). | 
| Modifier and Type | Method and Description | 
|---|---|
| void | addShutdownHook(Runnable shutdownHook,
               int priority)Adds a shutdownHook with a priority, the higher the priority
 the earlier will run. | 
| void | addShutdownHook(Runnable shutdownHook,
               int priority,
               long timeout,
               TimeUnit unit)Adds a shutdownHook with a priority and timeout the higher the priority
 the earlier will run. | 
| void | clearShutdownHooks()clear all registered shutdownHooks. | 
| static ShutdownHookManager | get()Return  ShutdownHookManagersingleton. | 
| boolean | hasShutdownHook(Runnable shutdownHook)Indicates if a shutdownHook is registered or not. | 
| boolean | isShutdownInProgress()Indicates if shutdown is in progress or not. | 
| boolean | removeShutdownHook(Runnable shutdownHook)Removes a shutdownHook. | 
public static final long TIMEOUT_MINIMUM
public static final TimeUnit TIME_UNIT_DEFAULT
@InterfaceAudience.Public public static ShutdownHookManager get()
ShutdownHookManager singleton.ShutdownHookManager singleton.@InterfaceAudience.Public @InterfaceStability.Stable public void addShutdownHook(Runnable shutdownHook, int priority)
shutdownHook - shutdownHook Runnablepriority - priority of the shutdownHook.@InterfaceAudience.Public @InterfaceStability.Stable public void addShutdownHook(Runnable shutdownHook, int priority, long timeout, TimeUnit unit)
shutdownHook - shutdownHook Runnablepriority - priority of the shutdownHooktimeout - timeout of the shutdownHookunit - unit of the timeout TimeUnit@InterfaceAudience.Public @InterfaceStability.Stable public boolean removeShutdownHook(Runnable shutdownHook)
shutdownHook - shutdownHook to remove.@InterfaceAudience.Public @InterfaceStability.Stable public boolean hasShutdownHook(Runnable shutdownHook)
shutdownHook - shutdownHook to check if registered.@InterfaceAudience.Public @InterfaceStability.Stable public boolean isShutdownInProgress()
@InterfaceAudience.Public @InterfaceStability.Stable public void clearShutdownHooks()
Copyright © 2022 Apache Software Foundation. All rights reserved.