SpringBoot Task定时任务参数详解与应用
- 作者: 五速梦信息网
- 时间: 2026年03月21日 04:37
scheduledTaskMap = new HashMap<>();
@Resource
private ScheduledTaskRegistrar taskRegistrar;
@Override
public void add(SysTask sysTask) {
CronTask cronTask = new CronTask(getRunnable(sysTask), sysTask.getTaskCron());
ScheduledTask scheduledTask = taskRegistrar.scheduleCronTask(cronTask);
String uuid = UUID.randomUUID().toString();
scheduledTaskMap.put(uuid, scheduledTask);
log.info("添加任务成功, uuid == > {}, 任务名称 == > {}, 任务表达式 == > {}", uuid, sysTask.getTaskName(), sysTask.getTaskCron());
}
private Runnable getRunnable(SysTask sysTask) {
return () -> {
try {
Class aClass = Class.forName(sysTask.getClassName());
Constructor constructor = aClass.getConstructor();
Object o = constructor.newInstance();
Method method = aClass.getMethod(sysTask.getMethodName());
method.invoke(o);
} catch (Exception e) {
e.printStackTrace();
}
};
}
@Override
public void delete(String uuid) {
try {
ScheduledTask scheduledTask = scheduledTaskMap.get(uuid);
scheduledTask.cancel();
scheduledTaskMap.remove(uuid);
} catch (Exception e) {
e.printStackTrace();
}
}
@Override
public void update(SysTask sysTask) {
this.delete(sysTask.getTaskUuid());
this.add(sysTask);
}
}
```csharp
@RestController
@RequestMapping("/cron")
public class CronController {
@Resource
private CronService cronService;
@PostMapping("/add")
public String add(@RequestBody SysTask sysTask) {
cronService.add(sysTask);
return "success";
}
@PostMapping("/delete")
public String delete(String uuid) {
cronService.delete(uuid);
return "success";
}
@PostMapping("/update")
public String update(@RequestBody SysTask sysTask) {
cronService.update(sysTask);
return "success";
}
}
相关文章
-
Spring 中@Autowired,@Resource,@Inject 注解实现原理
Spring 中@Autowired,@Resource,@Inject 注解实现原理
- 互联网
- 2026年03月21日
-
Spring Security认证与授权全解析
Spring Security认证与授权全解析
- 互联网
- 2026年03月21日
-
Spring Ioc源码引入:什么是IoC,IoC解决了什么问题
Spring Ioc源码引入:什么是IoC,IoC解决了什么问题
- 互联网
- 2026年03月21日
-
SpringBoot3与SpringSecurity6整合快速入门
SpringBoot3与SpringSecurity6整合快速入门
- 互联网
- 2026年03月21日
-
SQL SERVER日常运维巡检系列之
SQL SERVER日常运维巡检系列之
- 互联网
- 2026年03月21日
-
SQL 中的各种连接 JOIN 的区别总结!
SQL 中的各种连接 JOIN 的区别总结!
- 互联网
- 2026年03月21日








