`

189. Spring Boot 2.0 quartz :Hello World

阅读更多

 

【视频&交流平台】

à SpringBoot视频

http://study.163.com/course/introduction.htm?courseId=1004329008&utm_campaign=commission&utm_source=400000000155061&utm_medium=share

à SpringCloud视频

http://study.163.com/course/introduction.htm?courseId=1004638001&utm_campaign=commission&utm_source=400000000155061&utm_medium=share

à Spring Boot源码

https://gitee.com/happyangellxq520/spring-boot

à Spring Boot交流平台

http://412887952-qq-com.iteye.com/blog/2321532

 

关注springboot微信公众号,第一时间了解最新的springboot动态,当前已经更新到:

191. Spring Boot 2.0 quartz :Job持久化

190. Spring Boot 2.0 quartz :job data property和inject service

 

历史相关文章:

 188. Spring Boot 2.0 quartz :回顾

 

 

前言:

       上一篇的文章,主要是让大家对Quartz有一个回顾,这样有助于编码。本篇文章就编写一个简单的例子。

 

说明:

(1)Spring Boot 版本:2.0.0.RELEASE;

(2)Quartz版本:2.3.0

 

一、准备工作

1.1 新建一个项目

       新建一个 项目,取名为:springboot2-quartz

 

1.2 添加parent依赖(代码支持左右滑动)

<parent>
  <groupId>org.springframework.boot</groupId>
  <artifactId>spring-boot-starter-parent</artifactId>
  <version>2.0.0.RELEASE</version>
  <relativePath/> <!-- lookup parent from repository -->
</parent>

 

1.3 添加依赖

<dependency>
   <groupId>org.springframework.boot</groupId>
   <artifactId>spring-boot-starter-quartz</artifactId>
</dependency>
<dependency>
   <groupId>org.springframework.boot</groupId>
   <artifactId>spring-boot-starter-web</artifactId>
</dependency>

 

二、开始编码

2.1 编写启动类

       启动类比较简单,和之前都是一样的:

package com.kfit.quartz;

import org.springframework.boot.SpringApplication;
import org.springframework.boot.autoconfigure.SpringBootApplication;

@SpringBootApplication
public class Springboot2QuartzApplication {

   public static void main(String[] args) {
       SpringApplication.run(Springboot2QuartzApplication.class, args);
   }
}

 

2.2 编写Job:执行什么?

编写一个Job,主要是继承QuartzJobBean

package com.kfit.quartz.job;

import org.quartz.JobExecutionContext;
import org.quartz.JobExecutionException;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.scheduling.quartz.QuartzJobBean;


public class MyJob extends QuartzJobBean{

   @Override
   protected void executeInternal(JobExecutionContext ctx) throws JobExecutionException {
       System.out.println("hello,job");
   }

}

2.3 编写Job配置类:JobDetail和Trigger

package com.kfit.quartz.job;

import org.quartz.JobBuilder;
import org.quartz.JobDetail;
import org.quartz.SimpleScheduleBuilder;
import org.quartz.Trigger;
import org.quartz.TriggerBuilder;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.context.annotation.Bean;
import org.springframework.context.annotation.Configuration;

import com.kfit.quartz.service.HelloService;

/**
*
* @author Administrator
*
*/

@Configuration
public class JobConfig {

   @Bean
   public JobDetail myJobDetail() {
       return JobBuilder.newJob(MyJob.class).withIdentity("MyJob")
                               .storeDurably().build();
   }

   @Bean
   public Trigger myJobTrigger() {
       SimpleScheduleBuilder simpleScheduleBuilder = SimpleScheduleBuilder.simpleSchedule().withIntervalInSeconds(2).repeatForever();
       return TriggerBuilder.newTrigger().forJob(myJobDetail()).withIdentity("MyTrigger").withSchedule(simpleScheduleBuilder).build();
   }

}

在配置中主要是JobDetailTrigger的定义。

三、运行测试

       到这里就可以对代码进行测试了,运行成功之后,观察控制台的打印即可。

 

 

Quartz视频集
第十九章 Spring Boot 2.0Quartz
1、Spring Boot2.0 新特性
2、Spring Boot 2.0小彩蛋 :动态 banner
3、Spring Boot 2.0 quartzhello world
4、Spring Boot 2.0 quartzjob data propertyinject service
5、Spring Boot 2.0 quartzJob持久化

第二十章 Spring Boot 2.0Quartz持久化:动态任务管理
1、Spring Boot 2.0 quartz:任务动态管理-添加
2、Spring Boot 2.0 quartz:任务动态管理-删除
3、Spring Boot 2.0 quartz:任务动态管理-修改
4、Spring Boot 2.0 quartz:任务动态管理-启动停止所有任务

 

 戳下【传送门】看视频….

分享到:
评论

相关推荐

Global site tag (gtag.js) - Google Analytics