Interface ShutdownCallbackRegistry
- All Known Implementing Classes:
DefaultShutdownCallbackRegistry
,Log4jContextFactory
public interface ShutdownCallbackRegistry
Registry used for Runnable shutdown callback instances. Due to differing requirements of how late in the JVM
lifecycle Log4j should be shut down, this interface is provided for customizing how to register shutdown hook
callbacks. Implementations may optionally implement
LifeCycle
.- Since:
- 2.1
-
Field Summary
Modifier and TypeFieldDescriptionstatic final String
System property to set to choose the ShutdownCallbackRegistry.static final String
System property to set to override the global ability to register shutdown hooks.static final Marker
Shared Marker to indicate log messages corresponding to shutdown hooks. -
Method Summary
Modifier and TypeMethodDescriptionaddShutdownCallback
(Runnable callback) Adds a Runnable shutdown callback to this class.
-
Field Details
-
SHUTDOWN_CALLBACK_REGISTRY
System property to set to choose the ShutdownCallbackRegistry.- See Also:
-
SHUTDOWN_HOOK_ENABLED
System property to set to override the global ability to register shutdown hooks.- See Also:
-
SHUTDOWN_HOOK_MARKER
Shared Marker to indicate log messages corresponding to shutdown hooks.
-
-
Method Details
-
addShutdownCallback
Adds a Runnable shutdown callback to this class. Note: The returnedCancellable
must be retained on heap by caller to avoid premature garbage-collection of the registered callback (and to ensure the callback runs on shutdown).- Parameters:
callback
- the shutdown callback to be executed upon shutdown.- Returns:
- a Cancellable wrapper of the provided callback or
null
if the shutdown hook is disabled and cannot be added. - Since:
- 2.1
-