Spring Boot系列之quartz

 时间:2024-10-25 09:04:37

1、新建项目项目核心分3部分,pom依赖spring-boot-starter-quartz,job类MyJob,MyJobApplication

Spring Boot系列之quartz

2、引入quartz依赖。在pom.xml中引入jar依赖<dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-quartz</artifactId></dependency>

Spring Boot系列之quartz

3、定义job类。该类继承QuartzJobBean类,并殂翼瑟擀实现executeInternal方法。此方法中可书写具体的业务逻辑处理。public class My夼猿勇麒Job extends QuartzJobBean { private final Logger LOG = LoggerFactory.getLogger(MyJob.class); private String name; public void setName(String name) { this.name = name; } @Override protected void executeInternal(JobExecutionContext jobExecutionContext) throws JobExecutionException { LOG.info("hi {}",this.name); }}

Spring Boot系列之quartz

4、定义jobDetail和Trigger,并运行程序定义亭盍誓叭JobDetail的job类为MyJob,id为myjob1,name的值为myname1;定义籽疙牢阖调度Schedule每10s执行一次;定义Trigger,按照schedule机制来调度,并执行JobDetail相关任务。@SpringBootApplicationpublic class MyJobApplication { @Bean public JobDetail jobDetail() { return JobBuilder.newJob(MyJob.class) .withIdentity("myjob1").usingJobData("name","myname1") .storeDurably().build(); } @Bean public Trigger trigger() { SimpleScheduleBuilder scheduleBuilder = SimpleScheduleBuilder .simpleSchedule().withIntervalInSeconds(10).repeatForever(); return TriggerBuilder.newTrigger().forJob(jobDetail()) .withIdentity("mytrigger1").withSchedule(scheduleBuilder).build(); } public static void main(String[] args) { SpringApplication.run(MyJobApplication.class, args); }}

Spring Boot系列之quartz

5、测试结果1从结果时间可以看出,每隔10s输出一次日志。可见quartz已经完美的调度了job任务

Spring Boot系列之quartz

6、测试结果2修改调度设置,每分钟执行一次。运行结果见图SimpleScheduleBuilder scheduleBuilder = SimpleScheduleBuilder .simpleSchedule().withIntervalInMinutes(1).repeatForever();

Spring Boot系列之quartz
  • C# Winform 打印Word文档功能实现
  • linux环境如何用shell脚本简单的封装mysql命令
  • phpstudy 安装Apache SSL证书实现https连接
  • windows serve 2012 r2 怎么部署网站
  • jmeter如何添加http请求头,详细教程
  • 热门搜索
    贫贱不能移什么意思 什么是股权结构 入木三分的意思 咽炎喝什么茶好 什么是电子政务 石菖蒲的作用与功效 什么空调性价比高 无中生有的意思 什么让我快乐作文 东营有什么好玩的地方