Package org.apache.logging.log4j.core
Interface LifeCycle
- All Known Subinterfaces:
Appender
,Configuration
,ConnectionSource
,Filter
,Filterable
,LifeCycle2
- All Known Implementing Classes:
AbstractAppender
,AbstractConfiguration
,AbstractConnectionSource
,AbstractDatabaseAppender
,AbstractDriverManagerConnectionSource
,AbstractFileAppender
,AbstractFilter
,AbstractFilterable
,AbstractLifeCycle
,AbstractOutputStreamAppender
,AbstractTriggeringPolicy
,AbstractWriterAppender
,AppenderControl
,AsyncAppender
,AsyncLoggerConfig
,AsyncLoggerConfig.RootLogger
,AsyncLoggerConfigDisruptor
,AsyncLoggerContext
,BuiltConfiguration
,BurstFilter
,CompositeConfiguration
,CompositeFilter
,CompositeTriggeringPolicy
,ConfigurationScheduler
,ConsoleAppender
,CountingNoOpAppender
,CronTriggeringPolicy
,DataSourceConnectionSource
,DefaultConfiguration
,DefaultShutdownCallbackRegistry
,DenyAllFilter
,DriverManagerConnectionSource
,DynamicThresholdFilter
,FactoryMethodConnectionSource
,FailoverAppender
,FileAppender
,HttpAppender
,IdlePurgePolicy
,JdbcAppender
,JeroMqAppender
,JmsAppender
,JsonConfiguration
,KafkaAppender
,LevelMatchFilter
,LevelRangeFilter
,LoggerConfig
,LoggerConfig.RootLogger
,LoggerContext
,MapFilter
,MarkerFilter
,MemoryMappedFileAppender
,MutableThreadContextMapFilter
,NoMarkerFilter
,NoOpTriggeringPolicy
,NoSqlAppender
,NullAppender
,NullConfiguration
,OnStartupTriggeringPolicy
,OutputStreamAppender
,PropertiesConfiguration
,RandomAccessFileAppender
,RegexFilter
,RewriteAppender
,RollingFileAppender
,RollingRandomAccessFileAppender
,RoutingAppender
,ScriptAppenderSelector
,ScriptFilter
,SizeBasedTriggeringPolicy
,SmtpAppender
,SocketAppender
,StringMatchFilter
,StructuredDataFilter
,SyslogAppender
,ThreadContextMapFilter
,ThresholdFilter
,TimeBasedTriggeringPolicy
,TimeFilter
,WatchManager
,WriterAppender
,XmlConfiguration
,YamlConfiguration
public interface LifeCycle
All proper Java frameworks implement some sort of object life cycle. In Log4j, the main interface for handling
the life cycle context of an object is this one. An object first starts in the
LifeCycle.State.INITIALIZED
state
by default to indicate the class has been loaded. From here, calling the start()
method will change this
state to LifeCycle.State.STARTING
. After successfully being started, this state is changed to LifeCycle.State.STARTED
.
When the stop()
is called, this goes into the LifeCycle.State.STOPPING
state. After successfully being
stopped, this goes into the LifeCycle.State.STOPPED
state. In most circumstances, implementation classes should
store their LifeCycle.State
in a volatile
field or inside an
AtomicReference
dependent on synchronization and concurrency requirements.- See Also:
-
Nested Class Summary
-
Method Summary
-
Method Details
-
getState
LifeCycle.State getState()Gets the life-cycle state.- Returns:
- the life-cycle state
-
initialize
void initialize() -
start
void start() -
stop
void stop() -
isStarted
boolean isStarted() -
isStopped
boolean isStopped()
-