本章我们使用Quartz在java project的项目中进行定时任务的实现,首先我们需要在pom文件引入 quartz jar 包,
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-quartz</artifactId>
</dependency>
接下来我们编写具体的执行任务类,具体的执行需要继承QuartzJobBean 类 或者job接口都可以,我们这里是继承QuartzJobBean 类 ,如下:
import org.quartz.JobExecutionContext;
import org.quartz.JobExecutionException;
import org.springframework.scheduling.quartz.QuartzJobBean;
public class HelloworldJob extends QuartzJobBean {
@Override
public void executeInternal(JobExecutionContext context) throws JobExecutionException {
// TODO Auto-generated method stub
System.out.println("Hello world!:" + context.getJobDetail().getKey());
}
}
接下来编写任务的启动类,需要在类上加@Configuration注解,以便被扫描到,在方法上增加注解@Bean,注入倒容器中,如下:
import org.quartz.CronScheduleBuilder;
import org.quartz.JobBuilder;
import org.quartz.JobDetail;
import org.quartz.Trigger;
import org.quartz.TriggerBuilder;
import org.springframework.context.annotation.Bean;
import org.springframework.context.annotation.Configuration;
@Configuration
public class QuartzDemo {
@Bean
public JobDetail myJobDetail(){
JobDetail jobDetail = JobBuilder.newJob(HelloworldJob.class)
.withIdentity("myJob1","myJobGroup1")//定义Job类为HelloworldJob类,这是真正的执行逻辑所在
.usingJobData("job_param","job_param1")//给任务execute传递参数
.storeDurably()
.build();
return jobDetail;
}
@Bean
public Trigger myTrigger(){
Trigger trigger = TriggerBuilder.newTrigger()
.forJob(myJobDetail())
.withIdentity("myTrigger1","myTriggerGroup1")
.usingJobData("job_trigger_param","job_trigger_param1")
.startNow()
//.withSchedule(SimpleScheduleBuilder.simpleSchedule().withIntervalInSeconds(5).repeatForever())
.withSchedule(CronScheduleBuilder.cronSchedule("0/5 * * * * ? 2019"))
.build();
return trigger;
}
}
下面启动项目就能看到任务打印信息了:
Hello world Quartz !:myJobGroup1.myJob1
Hello world Quartz !:myJobGroup1.myJob1
Hello world Quartz !:myJobGroup1.myJob1
Hello world Quartz !:myJobGroup1.myJob1
Hello world Quartz !:myJobGroup1.myJob1
Hello world Quartz !:myJobGroup1.myJob1
Hello world Quartz !:myJobGroup1.myJob1
Hello world Quartz !:myJobGroup1.myJob1
相关推荐
Springboot整合Quartz实现定时任务数据库动态配置,新增任务、修改cron表达式、暂停任务、恢复任务、删除任务等操作
SpringBoot集成Quartz完全分布式定时任务,即插即用,不好用直接捶我! SpringBoot集成Quartz分布式定时任务 SpringBoot集成Quartz分布式定时任务
Quartz是一个定时任务框架,其他介绍网上也很详尽。这里要介绍一下Quartz里的几个非常核心的接口。通过实例代码给大家讲解SpringBoot集成Quartz实现定时任务的方法,感兴趣的朋友一起看看吧
SpringBoot集成Quartz定时任务(包含对任务的添加、暂停、删除、继续等)
springboot整合Quartz实现动态配置定时任务源码
执行resources中的sql脚本,修改数据库连接参数,亲测完美运行-----------------------------------------------------
主要介绍了SpringBoot集成Quartz动态定时任务,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
springboot整合quartz实现后台可控的定时任务: 前端实现采用layui 后端采用springboot,mybatisplus,mysql,quartz技术实现 可以单独使用,也可以集成到其他项目中。 是一套定时任务通用开发模板
springboot集成的quartz定时任务,直接可以运行,在数据库配置相关的任务类即可运行,SQL放在doc文件目录下
基于SSM+quartz的定时任务管理demo
Springboot2.0集成Quartz 1.pom文件添加依赖。 2.yml文件配置。 3.业务逻辑。
spring支持多种定时任务的实现。我们来介绍下使用spring的定时器和使用quartz定时器,具有一定的参考价值,感兴趣的小伙伴们可以参考一下。
亲测可用,springboot整合quartz。包含2个核心类QuartzConfiguration类和JobFactory类,修改数据库连接application和quartz.properties直接运行,访问http://localhost:8080/index。
今天小编就为大家分享一篇关于SpringBoot与Quartz集成实现分布式定时任务集群的代码实例,小编觉得内容挺不错的,现在分享给大家,具有很好的参考价值,需要的朋友一起跟随小编来看看吧
定时任务执行(任务调度) 框架中集成springboot+quartz 前端 html js layui vue 等 所有功能均已实现
springboot与quartz集成的最简单实例,可以实现定时任务的动态处理,解决job注入空指针的问题
NULL 博文链接:https://panyongzheng.iteye.com/blog/1550427
是博客 springboot集成shiro 实现权限控制 springBoot-Quartz 博客 springBoot-Quartz 定时任务 springboot 整合mybatis2 springboot 整合mybatis2 更简便的整合方式 springboot+Kafka kafka 与 sprigboot 的结合...
任务调度框架“Quartz”是OpenSymphony开源组织在Job scheduling领域又一个开源项目,是完全由java开发的一个开源的任务日程管理系统
Mybatis+Spring+SpringMVC+quartz多数据源切换 定时任务 多数据库之间同步