SpringBoot Quartz整合

SpringBoot系列-quartz整合SpringBoot整合Quartz教程前言一、技术介绍1.Quartz是什么?二、使用步骤1.引入maven库2.Quartz具体使用示例3.配置文件4.单元测试总结SpringBoot整合Quartz教程从今天起,撸起袖子跟着我加油干提示:如有疑问请私信联系、下方有源代码地址,请自行拿取前言使用Spring Boot 可以非常方便、快速搭建项目,使我们不用关心框架之间的兼容性,适用版本等各种问题,我们想使用任何东西,仅仅添加一个配置就可以。提示:
摘要由CSDN通过智能技术生成

SpringBoot整合Quartz教程

从今天起,撸起袖子跟着我加油干


提示:如有疑问请私信联系、下方有源代码地址,请自行拿取

前言

使用Spring Boot 可以非常方便、快速搭建项目,使我们不用关心框架之间的兼容性,适用版本等各种问题,我们想使用任何东西,仅仅添加一个配置就可以。


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

一、技术介绍

1.Quartz是什么?

Quartz 是一个完全由 Java 编写的开源作业调度框架,为在 Java 应用程序中进行作业调度提供了简单却强大的机制。

Quartz 可以与 J2EE 与 J2SE 应用程序相结合也可以单独使用。

Quartz 允许程序开发人员根据时间的间隔来调度作业。

Quartz 实现了作业和触发器的多对多的关系,还能把多个作业与不同的触发器关联。

二、使用步骤

1.引入maven库

代码如下(示例):

	 	<parent>
	        <groupId>org.springframework.boot</groupId>
	        <artifactId>spring-boot-starter-parent</artifactId>
	        <version>2.4.1</version>
	        <relativePath/>
	    </parent>
        <dependencies>
        <dependency>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-starter-quartz</artifactId>
        </dependency>
    </dependencies>

2.Quartz具体使用示例

IJob接口类:

package com.hyh.quartz;


/**
 * IJOB接口
 *
 * @Author: heyuhua
 * @Date: 2021/1/11 14:54
 */
public interface IJob {
   
    /**
     * 开始任务
     *
     * @param name
     * @param group
     * @param cron
     * @param clazz
     */
    void start(String name, String group, String cron, Class clazz);

    /**
     * 修改任务
     *
     * @param name
     * @param group
     * @param time
     * @return
     */
    boolean modify(String name, String group, String time);


    /**
     * 暂停
     *
     * @param name
     * @param group
     */
    void stop(String name, String group);

    /**
     * 暂停所有
     */
    void stopAll();

    /**
     * 恢复任务
     *
     * @param name
     * @param group
     */
    void resume(String name, String group);


    /**
     * 恢复所有
     */
    void resumeAll();

    /**
     * 删除任务
     *
     * @param name
     * @param group
     */
    void delete(String name, String group);
}






Job接口类:

package com.hyh.quartz.service;

import com.hyh.quartz.IJob;

/**
 * job 接口
 *
 * @Author: heyuhua
 * @Date: 2021/1/11 14:46
 */
public interface JobService extends IJob {
   


    /**
     * 获取任务信息
     *
     * @param name
     * @param group
     * @return
     */
    String get(String name, String group);

}






Job接口实现类:

package com.hyh.quartz.service.impl;

import com.hyh.quartz.service.JobService;
import org.quartz.*;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;

import java.util.Date;

/**
 * @Author: heyuhua
 * @Date: 2021/1/11 14:55
 */
@Service
public class JobServiceImpl implements JobService {
   

    /**
     * 日志
     */
    private static final Logger LOG = LoggerFactory.getLogger(JobServiceImpl.class);

    /**
     * 任务调度
     */
    @Autowired
    private Scheduler scheduler;


    @Override
    public void start(String name, String group, String cron, Class clazz) {
   
        try {
   
            // 通过JobBuilder构建JobDetail实例,JobDetail规定只能是实现Job接口的实例
            // JobDetail 是具体Job实例
            JobDetail jobDetail = JobBuilder.newJob(clazz).withIdentity(name, group).build(
  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 2
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

消灭知识盲区

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值