Package de.mhus.lib.core.schedule
Class Scheduler
- java.lang.Object
-
- de.mhus.lib.core.MLog
-
- de.mhus.lib.core.schedule.Scheduler
-
- All Implemented Interfaces:
de.mhus.lib.basics.Named,ILog
- Direct Known Subclasses:
SchedulerTimer
public class Scheduler extends MLog implements de.mhus.lib.basics.Named
-
-
Field Summary
Fields Modifier and Type Field Description protected HashSet<SchedulerJob>jobsprotected LinkedList<SchedulerJob>running
-
Method Summary
All Methods Static Methods Instance Methods Concrete Methods Modifier and Type Method Description voidclear()static SchedulerJobcreateSchedulerJob(String interval, ITimerTask task)Create a job by definition.voiddoExecuteJob(SchedulerJob job, boolean forced)protected voiddoExecuteJobInternal(SchedulerJob job, boolean forced)voiddoQueueCheck()protected voiddoTick()List<SchedulerJob>getJobs()StringgetName()SchedulerQueuegetQueue()List<SchedulerJob>getRunningJobs()List<SchedulerJob>getScheduledJobs()voidschedule(SchedulerJob job)voidstart()voidstop()static SchedulerJobtoIntervalJob(String interval, ITimerTask task)
-
-
-
Field Detail
-
running
protected LinkedList<SchedulerJob> running
-
jobs
protected HashSet<SchedulerJob> jobs
-
-
Constructor Detail
-
Scheduler
public Scheduler()
-
Scheduler
public Scheduler(String name)
-
-
Method Detail
-
getName
public String getName()
- Specified by:
getNamein interfacede.mhus.lib.basics.Named
-
start
public void start()
-
doTick
protected void doTick()
-
doExecuteJob
public void doExecuteJob(SchedulerJob job, boolean forced)
-
doExecuteJobInternal
protected void doExecuteJobInternal(SchedulerJob job, boolean forced)
-
stop
public void stop()
-
schedule
public void schedule(SchedulerJob job)
-
doQueueCheck
public void doQueueCheck()
-
getRunningJobs
public List<SchedulerJob> getRunningJobs()
-
getJobs
public List<SchedulerJob> getJobs()
-
getScheduledJobs
public List<SchedulerJob> getScheduledJobs()
-
getQueue
public SchedulerQueue getQueue()
-
clear
public void clear()
-
createSchedulerJob
public static SchedulerJob createSchedulerJob(String interval, ITimerTask task)
Create a job by definition. Format: once:date once:time cron:cron format interval:interval cron interval e.g. * * * * * 12000 once:12000- Parameters:
interval-task-- Returns:
- The job
-
toIntervalJob
public static SchedulerJob toIntervalJob(String interval, ITimerTask task)
-
-