所在的位置: mysql >> mysql优势 >> SpingBoot2XQuartz实

SpingBoot2XQuartz实

SpringBoot任务调度之-Quartz

在SpringBoot中实现定时任务,我常用的有以下两种:

SpringTask:spring自主研发的定时任务工具,并且存在于Spring体系中,不需要添加任何依赖。Quartz:是一个开源的任务调度服务,几乎可以集成到任务Java应用程序中昨天已经介绍了springTask,

今天来介绍Quartz,他是一个强大的开源任务调度工具,可以实现复杂定时任务,使用SprngBoot+Mybatis+Quartz+Swagger实现定时任务的增删改查,启用和停用。

设计Meaven

Mybatis(使用的数据据版本是8.0)使用5.7的会有问题QuartzSwagger

Quartz介绍

Quartz时一个开源的定时任务项目,可以单独使用也可以和应用程序结合使用。Quartz可是常见简单Jobs进行运行,也可以运行上万个复杂的Jobs。

Quartz核心API

Job(任务):是一个接口,里面有一个方法,可以通过实现Job接口定义需要执行的任务Job接口如下:

packageorg.quartz;publicinterfaceJob{publicvoidexecute(JobExecutionContextcontext)throwsJobExecutionException;}

JobDetail:用于创建Job实例

publicclassTestJobimplementsJob{publicTestJob(){}publicvoidexecute(JobExecutionContextcontext)throwsJobExecutionException{System.err.println(TestJobisstartexecuting.);}}publicclassTest{publicstaticvoidmain(String[]args)throwsSchedulerException{JobDetailjob=newJob(HelloJob.class).withIdentity(myJob,group1)//namemyJob,groupgroup1.build();}}

Trigger:触发器,描述触发Job执行的时间触发规则实现类SimpleTrigger和CronTrigger可以通过crom表达式定义出各种复杂的调度方案JobBuilder:用于定义JobDetail实例,用于定义Job实例TriggerBuilder:用于构建Trigger实例Scheduler(调度):表示一个独立的Quartz容器,Trigger和JobDetail可以注册到Scheduler中。

代码实现

添加依赖

dependenciesdependencygroupIdorg.springframework.boot/groupIdartifactIdspring-boot-starter-thymeleaf/artifactId/dependencydependencygroupIdorg.springframework.boot/groupIdartifactIdspring-boot-starter-web/artifactId/dependencydependencygroupIdorg.projectlombok/groupIdartifactIdlombok/artifactIdoptionaltrue/optional/dependencydependencygroupIdorg.springframework.boot/groupIdartifactIdspring-boot-starter-test/artifactIdscopetest/scope/dependencydependencygroupIdorg.springframework.boot/groupIdartifactIdspring-boot-starter-quartz/artifactId/dependencydependencygroupIdorg.springframework.boot/groupIdartifactIdspring-boot-starter-jdbc/artifactId/dependency!--集成druid连接池--dependencygroupId


转载请注明:http://www.aierlanlan.com/grrz/2992.html

  • 上一篇文章:
  •   
  • 下一篇文章: