@Plugin(name="CronTriggeringPolicy", category="Core", printObject=true) @Scheduled public final class CronTriggeringPolicy extends AbstractTriggeringPolicy
Modifier and Type | Class and Description |
---|---|
private class |
CronTriggeringPolicy.CronTrigger |
LifeCycle.State
Modifier and Type | Field and Description |
---|---|
private boolean |
checkOnStartup |
private Configuration |
configuration |
private CronExpression |
cronExpression |
private static java.lang.String |
defaultSchedule |
private CronScheduledFuture<?> |
future |
private java.util.Date |
lastRollDate |
private RollingFileManager |
manager |
DEFAULT_STOP_TIMEOUT, DEFAULT_STOP_TIMEUNIT, LOGGER
Modifier | Constructor and Description |
---|---|
private |
CronTriggeringPolicy(CronExpression schedule,
boolean checkOnStartup,
Configuration configuration) |
Modifier and Type | Method and Description |
---|---|
static CronTriggeringPolicy |
createPolicy(Configuration configuration,
java.lang.String evaluateOnStartup,
java.lang.String schedule)
Creates a ScheduledTriggeringPolicy.
|
CronExpression |
getCronExpression() |
private static CronExpression |
getSchedule(java.lang.String expression) |
void |
initialize(RollingFileManager aManager)
Initializes the policy.
|
boolean |
isTriggeringEvent(LogEvent event)
Determines whether a rollover should occur.
|
private void |
rollover() |
boolean |
stop(long timeout,
java.util.concurrent.TimeUnit timeUnit)
Blocks until all tasks have completed execution after a shutdown request, or the timeout occurs, or the current
thread is interrupted, whichever happens first.
|
java.lang.String |
toString() |
equalsImpl, getState, getStatusLogger, hashCodeImpl, initialize, isInitialized, isStarted, isStarting, isStopped, isStopping, setStarted, setStarting, setState, setStopped, setStopping, start, stop, stop
private static final java.lang.String defaultSchedule
private RollingFileManager manager
private final CronExpression cronExpression
private final Configuration configuration
private final boolean checkOnStartup
private volatile java.util.Date lastRollDate
private CronScheduledFuture<?> future
private CronTriggeringPolicy(CronExpression schedule, boolean checkOnStartup, Configuration configuration)
public void initialize(RollingFileManager aManager)
aManager
- The RollingFileManager.public boolean isTriggeringEvent(LogEvent event)
event
- A reference to the currently event.public CronExpression getCronExpression()
@PluginFactory public static CronTriggeringPolicy createPolicy(@PluginConfiguration Configuration configuration, @PluginAttribute(value="evaluateOnStartup") java.lang.String evaluateOnStartup, @PluginAttribute(value="schedule") java.lang.String schedule)
configuration
- the Configuration.evaluateOnStartup
- check if the file should be rolled over immediately.schedule
- the cron expression.private static CronExpression getSchedule(java.lang.String expression)
private void rollover()
public boolean stop(long timeout, java.util.concurrent.TimeUnit timeUnit)
LifeCycle2
stop
in interface LifeCycle2
stop
in class AbstractLifeCycle
timeout
- the maximum time to waittimeUnit
- the time unit of the timeout argumentpublic java.lang.String toString()
toString
in class java.lang.Object