Package | Description |
---|---|
cn.hutool.cron |
定时任务模块,提供类Crontab表达式的定时任务,实现参考了Cron4j,同时可以支持秒级别的定时任务定义和年的定义(同时兼容Crontab、Cron4j、Quartz表达式)
定时任务模块由三部分组成: Scheduler 定时任务调度器,用于整体管理任务的增删、启停和触发运行。 |
Modifier and Type | Field and Description |
---|---|
protected Scheduler |
TaskLauncherManager.scheduler |
protected Scheduler |
TaskExecutorManager.scheduler |
Modifier and Type | Method and Description |
---|---|
Scheduler |
Scheduler.addListener(TaskListener listener)
增加监听器
|
Scheduler |
Scheduler.clear()
清空任务表
|
Scheduler |
Scheduler.deschedule(String id)
移除Task
|
static Scheduler |
CronUtil.getScheduler() |
Scheduler |
Scheduler.removeListener(TaskListener listener)
移除监听器
|
Scheduler |
Scheduler.schedule(Setting cronSetting)
批量加入配置文件中的定时任务
配置文件格式为: xxx.xxx.xxx.Class.method = * * * * * |
Scheduler |
Scheduler.schedule(String id,
CronPattern pattern,
Task task)
新增Task,如果任务ID已经存在,抛出异常
|
Scheduler |
Scheduler.schedule(String id,
String pattern,
Runnable task)
新增Task,如果任务ID已经存在,抛出异常
|
Scheduler |
Scheduler.schedule(String id,
String pattern,
Task task)
新增Task,如果任务ID已经存在,抛出异常
|
Scheduler |
Scheduler.setDaemon(boolean on)
设置是否为守护线程
如果为true,则在调用 stop() 方法后执行的定时任务立即结束,否则等待执行完毕才结束。 |
Scheduler |
Scheduler.setMatchSecond(boolean isMatchSecond)
设置是否支持秒匹配,默认不使用
|
Scheduler |
Scheduler.setThreadExecutor(ExecutorService threadExecutor)
设置自定义线程池
自定义线程池时须考虑方法执行的线程是否为守护线程 |
Scheduler |
Scheduler.setTimeZone(TimeZone timeZone)
设置时区
|
Scheduler |
Scheduler.start()
启动
|
Scheduler |
Scheduler.start(boolean isDaemon)
启动
|
Scheduler |
Scheduler.stop()
停止定时任务
此方法调用后会将定时器进程立即结束,如果为守护线程模式,则正在执行的作业也会自动结束,否则作业线程将在执行完成后结束。 |
Scheduler |
Scheduler.stop(boolean clearTasks)
停止定时任务
此方法调用后会将定时器进程立即结束,如果为守护线程模式,则正在执行的作业也会自动结束,否则作业线程将在执行完成后结束。 |
Scheduler |
Scheduler.updatePattern(String id,
CronPattern pattern)
更新Task执行的时间规则
|
Modifier and Type | Method and Description |
---|---|
void |
TaskTable.executeTaskIfMatch(Scheduler scheduler,
long millis)
如果时间匹配则执行相应的Task,带读锁
|
protected void |
TaskTable.executeTaskIfMatchInternal(Scheduler scheduler,
long millis)
如果时间匹配则执行相应的Task,无锁
|
Constructor and Description |
---|
CronTimer(Scheduler scheduler)
构造
|
TaskExecutor(Scheduler scheduler,
CronTask task)
构造
|
TaskExecutorManager(Scheduler scheduler) |
TaskLauncher(Scheduler scheduler,
long millis)
构造
|
TaskLauncherManager(Scheduler scheduler) |
Copyright © 2024. All rights reserved.