任务管理器

1. 简介

项目需要引入定时任务的时候,可以集成该组件。该组件实现定时任务的添加、更新执行周期、查询、执行一次、 暂停、恢复、查询执行日志等功能。该组件封装好了一个动态定时任务抽象类JpJob.java,使用时只需添加一个 Java类继承JpJob,实现其中的runJob方法即可。

2. 基础环境

  1. java8+
  2. 开发框架 springboot2.0.4,spring5,jersey2,swagger2,hibernate-validate4,jpa,hibernate5

3. 如何使用

3.1. 添加依赖

在项目的web-api层添加依赖

<dependency>
        <groupId>com.jpxx.crontask</groupId>
        <artifactId>crontask-web-api</artifactId>
        <version>BASE-1.1.0-SNAPSHOT</version>
</dependency>

3.2. 添加注解

在项目的***Application主类中添加 @EnableScheduling 注解

3.3. 注册服务

在项目的***ResouceConfig注册 QuartzApi.class (com.jpxx.crontask.web.api.QuartzApi.class)

    register(QuartzApi.class);

3.4. 添加定时任务实现类

增加一个定时任务类,继承JpJob,实现runJob方法,示例如下

import com.jpxx.crontask.web.schedule.JpJob;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import org.springframework.context.annotation.Configuration;
import org.springframework.scheduling.annotation.EnableScheduling;
import org.springframework.stereotype.Component;
import java.io.Serializable;

/**
 * 定时任务实现类
 */
@Component
@EnableScheduling
public class ScheduleTaskTestJob extends JpJob implements Serializable {
    private static Logger logger = LoggerFactory.getLogger(ScheduleTaskTestJob.class);

    /**
     * 执行任务
     *
     * @throws RuntimeException
     */
    @Override
    public void runJob() throws RuntimeException {
        //在这里写定时任务执行的内容
        logger.info("==== 定时任务 ScheduleTaskTestJob ====> 执行中...... ");
    }
}

3.5. 执行定时任务sql配置脚本

status 1-激活,0-暂停,clazz 定时任务类名,cron 定时任务执行周期,type 定时任务分类

INSERT INTO quartz_config(id,clazz,cron,type,name,status,msg) VALUES
('1','com.jpxx.crontask.web.task.ScheduleTaskTestJob', '*/5 * * * * ?', '任务分类', '任务名称', 1, '任务备注');
COMMIT;

源码地址:http://sources.jpsycn.com/dev-plat/java-server/com/task-manage.git

Copyright © jpsycn.com 2018 all right reserved,powered by Gitbook该文件修订时间: 2019-09-10 14:25:52

results matching ""

    No results matching ""