Spring Boot Quartz集成(二)
2017-08-17 00:00
441 查看
摘要: quartz逻辑优化
1.根据之前创建的项目spring-boot-quartz
2.完善其Task任务类,若需要创建多个不同时间段的任务类,怎么解决!所以需要对MyTask任务类进行优化。
3.编写公共的BaseTask任务类,把之前在MyTask任务类中的代码移到BaseTask类中;而MyTask只需要继承BaseTask类,并重写起执行方法。
4.继承的子类代码;可根据不同需要创建多个执行Task类,并设置不同的启动时间
1.根据之前创建的项目spring-boot-quartz
2.完善其Task任务类,若需要创建多个不同时间段的任务类,怎么解决!所以需要对MyTask任务类进行优化。
3.编写公共的BaseTask任务类,把之前在MyTask任务类中的代码移到BaseTask类中;而MyTask只需要继承BaseTask类,并重写起执行方法。
public class BaseTask implements Job{ @Autowired private Scheduler scheduler; @PostConstruct // 相当于init-method public void init(){ //jobDetail 获取对应运行类的名称,设置成其Job名称及Job组 JobDetail jobDetail = JobBuilder.newJob(this.getClass()).withIdentity(this.getClass().getSimpleName()+"_Job",this.getClass().getSimpleName()+"_group").build(); //通过Cron格式时间定义执行时间 String cronExpress=getCronExpression(); //trigger 获取对应运行类的名称,设置成其Trigger名称及Trigger组 Trigger trigger = TriggerBuilder.newTrigger().withIdentity(this.getClass().getSimpleName()+"_Trigger",this.getClass().getSimpleName()+"_group").startNow().withSchedule(CronScheduleBuilder.cronSchedule(cronExpress)).build(); try { scheduler.scheduleJob(jobDetail,trigger); } catch (SchedulerException e) { e.printStackTrace(); } } @Override public void execute(JobExecutionContext context) throws JobExecutionException { //此处的方法没任何意义,意义在其继承的子类中编写自身的逻辑执行代码 } // 设置每个继承子类的执行时间,时间格式必须Cron public String getCronExpression(){ return null; } }
4.继承的子类代码;可根据不同需要创建多个执行Task类,并设置不同的启动时间
@Service public class MyTask extends BaseTask{ @Override public void execute(JobExecutionContext context) throws JobExecutionException { System.out.println("this is task one"+new Date()); } @Override public String getCronExpression() { return "0/10 * * * * ?"; } }
相关文章推荐
- spring boot 集成quartz 2.0 实现前端动态配置(获取spring上下文)的两种方式,启动数据库中已开启定时任务
- Spring Boot集成持久化Quartz定时任务管理和界面展示
- Spring Boot集成持久化Quartz定时任务管理和界面展示
- springBoot 集成 Quartz任务调度
- Spring Boot集成Quartz-动态任务管理
- Spring Boot集成Quartz注入Spring管理的类
- spring-boot集成Quartz
- Spring boot集成Quartz与RabbitMQ
- spring boot 集成quartz集群
- springBoot集成quartz集群
- [springboot]集成org.quartz-scheduler进行任务调度
- Spring Boot集成Quartz注入Spring管理的类的方法
- Spring Boot集成持久化Quartz定时任务管理和界面展示(转)
- Spring Boot集成持久化Quartz定时任务管理和界面展示
- 【springboot】 springboot集成quartz实现定时任务
- Spring Boot Quartz集成(一)
- SpringBoot集成Quartz动态定时任务
- Spring Boot集成Quartz注入Spring管理的类
- Spring Boot集成Quartz
- Quartz与Spring Boot集成使用