栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 软件开发 > 后端开发 > Java

IEDA基于Spring Boot项目服务搭建QuartzJobBean实现定时任务调度(包含服务目录结构)详解

Java 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

IEDA基于Spring Boot项目服务搭建QuartzJobBean实现定时任务调度(包含服务目录结构)详解

IEDA基于Spring Boot项目服务搭建QuartzJobBean实现定时任务调度(包含服务目录结构)详解

文章目录
  • IEDA基于Spring Boot项目服务搭建QuartzJobBean实现定时任务调度(包含服务目录结构)详解
  • 前言
  • 一、什么是QuartzJobBean任务调度?
  • 二、创建项目包含项目结构
    • 1.创建新的项目
  • 三、代码实现任务调度
    • 项目结构图
    • 1、第一步 导入依赖
    • 2、第二步 创建配置类
    • 3、第三步 创建业务逻辑执行类
    • 4、第四步 启动项目验证
  • 总结


前言

Spring Boot是由Pivotal团队(Spring项目组)提供的全新框架,其设计目的是用来简化Spring应用的初始搭建以及开发过程。该框架使用了特定的方式来进行配置,在实际的工作当中,经常要用到定时去操作一下任务,例如:数据的定时备份,用户的定时短信发送,定时刷新缓存等等。下面介绍实现任务调度的方式。


提示:以下是本篇文章正文内容,下面案例可供参考

一、什么是QuartzJobBean任务调度?

QuartzJobBean是一个定时器的基础类,在SpringBoot项目中要是想实现通过定时任务去执行一些任务,就要通过QuartzJobBean配置配去实现(不唯一)。

二、创建项目包含项目结构 1.创建新的项目

点击 + Create New Project 创建新的项目

选中1、Spring Initializr 2、 钩住Default
然后点击 Next

Group:项目坐标
Artifact: 注册中心服务的项目名称
然后点击 Next

选择SpringBoot版本,涉及你引入的依赖版本否则会报错。

添加操作数据库的依赖,MySQL驱动依赖、JPA依赖

然后点击 Finish

项目创建成功

1.项目配置Maven
点击 File ----> Settings

配置Maven:File —> Settings —> Build, Execution, Deployment —> Build Tools —> Maven
User settings file:你maven服务的conf文件夹的settings.xml文件
Local repository:本地仓库的路径(存放从中央仓库、阿里云镜像下载的Jar包)

三、代码实现任务调度 项目结构图

1、第一步 导入依赖

如果SpringBoot版本是2.0.0以后的,则在spring-boot-starter中已经包含了quart的依赖,则可以直接使用spring-boot-starter-quartz依赖:


    org.springframework.boot
    spring-boot-starter-quartz

如果是1.5.9则要使用以下添加依赖:

 

    org.quartz-scheduler
    quartz
    2.3.2

 

    org.quartz-scheduler
    quartz-jobs
    2.3.2

2、第二步 创建配置类

创建JobConfiguration配置类,加载Bean或者通过Spring.xml中去配置装入Bean管理。

package com.job.config;

import com.job.comm.yewuDataSyncJob;
import org.quartz.*;
import org.springframework.context.annotation.Bean;
import org.springframework.context.annotation.Configuration;

@Configuration
public class JobConfiguration {
    private static final int TIME = 5; // 更新频率  5秒
    // JobDetail
    @Bean
    public JobDetail weatherDataSyncJobDetail() {
        return JobBuilder.newJob(yewuDataSyncJob.class).withIdentity("yewuDataSyncJob")
                .storeDurably().build();
    }
    // Trigger
    @Bean
    public Trigger weatherDataSyncTrigger() {
        SimpleScheduleBuilder schedBuilder = SimpleScheduleBuilder.simpleSchedule()
                .withIntervalInSeconds(TIME).repeatForever();
        return TriggerBuilder.newTrigger().forJob(weatherDataSyncJobDetail())
                .withIdentity("weatherDataSyncTrigger").withSchedule(schedBuilder).build();
    }
}
3、第三步 创建业务逻辑执行类

创建yewuDataSyncJob业务类并继承QuartzJobBean,重写executeInternal()方法,在方法体写业务实现逻辑

package com.job.comm;

import org.quartz.JobExecutionContext;
import org.quartz.JobExecutionException;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import org.springframework.scheduling.quartz.QuartzJobBean;
import java.text.SimpleDateFormat;
import java.util.Date;


public class yewuDataSyncJob extends QuartzJobBean {
    private final static Logger logger = LoggerFactory.getLogger(yewuDataSyncJob.class);

    @Override
    protected void executeInternal(JobExecutionContext jobExecutionContext) throws JobExecutionException {
        //写你的业务逻辑
        logger.info("***********************处理定时任务的业务逻辑 Start ***********************");
        SimpleDateFormat format = new SimpleDateFormat("yyyy-MM-dd'T'HH:mm:ss:SSS'Z'");
        String format1 = format.format(new Date());
        System.out.println("小新新最帅!!当前系统时间:" + format1);
        logger.info("***********************处理定时任务的业务逻辑 End ***********************");
        }
}

4、第四步 启动项目验证

点击启动类

效果结果图

可以看到间隔5秒执行业务逻辑,你就可以实现数据备份、刷新缓存(Redis)、发送短信、定时查询等等业务。

cron表达式详解

时间允许值范围允许的特殊字符
0~59, - * /
0~59, - * /
小时0~23, - * /
日期1-31, - * ? / L W C
月份1~12或者JAN-DEC, - * /
星期1~7或者SUN-SAT, - * ? / L C #
年(可选)留空,1970~2099, - * /

在线cron表达式生成:http://qqe2.com/cron/index


总结

如果你的项目当中要实现任务调度,以上代码融合到你的项目当中即可,然后根据你的业务你封装一下使用,避免代码过于臃肿,要学会灵活变通,避免代码侵入性过高。

转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/678047.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号