public class Scheduler extends Object
启动Timer =》 启动TaskLauncher =》 启动TaskExecutor调度器关闭流程:
关闭Timer =》 关闭所有运行中的TaskLauncher =》 关闭所有运行中的TaskExecutor其中:
TaskLauncher:定时器每分钟调用一次(如果isMatchSecond()
为true
每秒调用一次), 负责检查TaskTable是否有匹配到此时间运行的Task
TaskExecutor:TaskLauncher匹配成功后,触发TaskExecutor执行具体的作业,执行完毕销毁
限定符和类型 | 字段和说明 |
---|---|
protected boolean |
daemon
是否为守护线程
|
protected TaskListenerManager |
listenerManager
监听管理器列表
|
protected boolean |
matchSecond
是否支持秒匹配
|
protected boolean |
matchYear
是否支持年匹配
|
protected TaskExecutorManager |
taskExecutorManager
执行器管理器
|
protected TaskLauncherManager |
taskLauncherManager
启动器管理器
|
protected TaskTable |
taskTable
定时任务表
|
构造器和说明 |
---|
Scheduler() |
限定符和类型 | 方法和说明 |
---|---|
Scheduler |
addListener(TaskListener listener)
增加监听器
|
Scheduler |
deschedule(String id)
移除Task
|
CronPattern |
getPattern(String id)
获得指定id的
CronPattern |
Task |
getTask(String id)
获得指定id的
Task |
TimeZone |
getTimeZone()
获得时区,默认为
TimeZone.getDefault() |
boolean |
isDeamon()
是否为守护线程
|
boolean |
isMatchSecond()
是否支持秒匹配
|
boolean |
isMatchYear()
是否支持年匹配
|
boolean |
isStarted() |
Scheduler |
removeListener(TaskListener listener)
移除监听器
|
Scheduler |
schedule(Setting cronSetting)
批量加入配置文件中的定时任务
配置文件格式为: xxx.xxx.xxx.Class.method = * * * * * |
Scheduler |
schedule(String id,
CronPattern pattern,
Task task)
新增Task
|
String |
schedule(String pattern,
Runnable task)
新增Task,使用随机UUID
|
Scheduler |
schedule(String id,
String pattern,
Runnable task)
新增Task
|
Scheduler |
schedule(String id,
String pattern,
Task task)
新增Task
|
String |
schedule(String pattern,
Task task)
新增Task,使用随机UUID
|
Scheduler |
setDaemon(boolean on)
设置是否为守护线程
默认非守护线程 |
Scheduler |
setMatchSecond(boolean isMatchSecond)
设置是否支持秒匹配,默认不使用
|
Scheduler |
setMatchYear(boolean isMatchYear)
设置是否支持年匹配,默认不使用
|
Scheduler |
setTimeZone(TimeZone timezone)
设置时区
|
Scheduler |
start()
启动
|
Scheduler |
stop()
停止定时任务
|
protected boolean matchSecond
protected boolean matchYear
protected boolean daemon
protected TaskTable taskTable
protected TaskLauncherManager taskLauncherManager
protected TaskExecutorManager taskExecutorManager
protected TaskListenerManager listenerManager
public TimeZone getTimeZone()
TimeZone.getDefault()
public Scheduler setDaemon(boolean on) throws CronException
on
- true
为守护线程,否则非守护线程CronException
- 定时任务已经启动抛出此异常public boolean isDeamon()
public boolean isMatchSecond()
true
使用,false
不使用public Scheduler setMatchSecond(boolean isMatchSecond)
isMatchSecond
- true
支持,false
不支持public boolean isMatchYear()
true
使用,false
不使用public Scheduler setMatchYear(boolean isMatchYear)
isMatchYear
- true
支持,false
不支持public Scheduler addListener(TaskListener listener)
listener
- TaskListener
public Scheduler removeListener(TaskListener listener)
listener
- TaskListener
public Scheduler schedule(Setting cronSetting)
cronSetting
- 定时任务设置文件public String schedule(String pattern, Runnable task)
pattern
- CronPattern
对应的String表达式task
- Runnable
public String schedule(String pattern, Task task)
pattern
- CronPattern
对应的String表达式task
- Task
public Scheduler schedule(String id, String pattern, Runnable task)
id
- ID,为每一个Task定义一个IDpattern
- CronPattern
对应的String表达式task
- Runnable
public Scheduler schedule(String id, String pattern, Task task)
id
- ID,为每一个Task定义一个IDpattern
- CronPattern
对应的String表达式task
- Task
public Scheduler schedule(String id, CronPattern pattern, Task task)
id
- ID,为每一个Task定义一个IDpattern
- CronPattern
task
- Task
public CronPattern getPattern(String id)
CronPattern
id
- IDCronPattern
public boolean isStarted()
public Scheduler start()
public Scheduler stop()
Copyright © 2021. All rights reserved.