多应用+插件架构,代码干净,二开方便,首家独创一键云编译技术,文档视频完善,免费商用码云13.8K 广告
``` @Configuration public class MyQuartzScheduler { @Autowired private Scheduler scheduler; /** * 开启一个任务 * @throws Exception */ public void startJob(Class<? extends Job> jobClass, Task task) throws Exception{ JobDetail jobDetail = JobBuilder.newJob(jobClass).withIdentity(task.getName(), task.getGroupname()).build(); jobDetail.getJobDataMap().put("task", task); CronScheduleBuilder cronScheduleBuilder = CronScheduleBuilder.cronSchedule(task.getCron()); CronTrigger cronTrigger = TriggerBuilder.newTrigger().withIdentity(task.getName(), task.getGroupname()).withSchedule(cronScheduleBuilder).build(); scheduler.scheduleJob(jobDetail, cronTrigger); } /** * 获取任务信息 * @param name * @param group * @return * @throws Exception */ public CronTrigger getJobInfo(String name, String group) throws Exception{ TriggerKey triggerKey = new TriggerKey(name, group); CronTrigger cronTrigger = (CronTrigger) scheduler.getTrigger(triggerKey); return cronTrigger; } /** * 暂停所有任务 * @throws Exception */ public void pauseAllJobs() throws Exception{ scheduler.pauseAll(); } /** * 暂停一个任务 * @param name * @param group * @return * @throws Exception */ public boolean pauseJob(String name, String group) throws Exception{ JobKey jobKey = new JobKey(name, group); JobDetail jobDetail = scheduler.getJobDetail(jobKey); if (jobDetail == null){ return false; } scheduler.pauseJob(jobKey); return true; } /** * 恢复所有任务 * @throws Exception */ public void resumeAllJobs() throws Exception{ scheduler.resumeAll(); } /** * 恢复某个任务 * @param name * @param group * @return * @throws Exception */ public boolean resumeJob(String name, String group)throws Exception{ JobKey jobKey = new JobKey(name, group); JobDetail jobDetail = scheduler.getJobDetail(jobKey); if (jobDetail == null){ return false; } scheduler.resumeJob(jobKey); return true; } /** * 删除任务 * @param name * @param group * @return * @throws Exception */ public boolean deleteJob(String name, String group) throws Exception{ JobKey jobKey = new JobKey(name, group); JobDetail jobDetail = scheduler.getJobDetail(jobKey); if (jobDetail == null){ return false; } scheduler.deleteJob(jobKey); return true; } } ```