spring-boot-quartz-plus动态定时任务

spring-boot-quartz-plus

### 组件介绍 ###


1. 基于spring-boot-start-quartz基础上添加一些动态接口
2. 支持spring-boot 2.x
3. 动态添加定时任务

源码地址

https://gitee.com/elvesfish/spring-boot-quartz-plus

https://github.com/elvesfish/spring-boot-quartz-plus

### 接口介绍 ###

1. 查询所有
2. 保存
3. 修改
4. 暂停
5. 重启
6. 删除


### 使用介绍 ###
添加依赖包:该工程直接打包就行。

        <dependency>
            <groupId>com.elvesfish</groupId>
            <artifactId>spring-boot-quartz-plus</artifactId>
            <version>1.0.1</version>
        </dependency>
        


### 配置文件  ###


还是使用spring-boot-start-quartz的自动配置.
application.properties

#spring-boot-quartz
spring.quartz.properties.org.quartz.scheduler.instanceName=scheduler-quartz-test
spring.quartz.properties.org.quartz.scheduler.instanceId=AUTO
#quartz jobStore
spring.quartz.properties.org.quartz.jobStore.class=org.quartz.impl.jdbcjobstore.JobStoreTX
spring.quartz.properties.org.quartz.jobStore.driverDelegateClass=org.quartz.impl.jdbcjobstore.StdJDBCDelegate
spring.quartz.properties.org.quartz.jobStore.tablePrefix=QRTZ_
spring.quartz.properties.org.quartz.jobStore.isClustered=true
spring.quartz.properties.org.quartz.jobStore.clusterCheckinInterval=10000
spring.quartz.properties.org.quartz.jobStore.useProperties=false
#quartz threadPool
spring.quartz.properties.org.quartz.threadPool.class=org.quartz.simpl.SimpleThreadPool
spring.quartz.properties.org.quartz.threadPool.threadCount=20
spring.quartz.properties.org.quartz.threadPool.threadPriority=5
spring.quartz.properties.org.quartz.threadPool.threadsInheritContextClassLoaderOfInitializingThread=true
#quartz job store
spring.quartz.job-store-type=jdbc
#quartz listener
#spring.quartz.properties.org.quartz.jobListener.NAME.class=com.elvesfish.quartz.listener.SimpleJobListener
#spring.quartz.properties.org.quartz.triggerListener.NAME.class=com.elvesfish.quartz.listener.SimpleTriggerListener

### 业务代码 ###
1. TestJob类

 package com.elvesfish.ms.job;
    
    import com.elvesfish.ms.service.ISecUserService;
    
    import org.quartz.DisallowConcurrentExecution;
    import org.quartz.Job;
    import org.quartz.JobExecutionContext;
    import org.quartz.JobExecutionException;
    import org.springframework.beans.factory.annotation.Autowired;
    
    import java.util.Date;
    
    import lombok.extern.slf4j.Slf4j;
    
    @DisallowConcurrentExecution
    @Slf4j
    public class TestJob implements Job {
    
        @Autowired
        private ISecUserService userService;
    
        @Override
        public void execute(JobExecutionContext jobExecutionContext) throws JobExecutionException {
             userService.list();
            log.info("==============定时任务:" + new Date() + "");
        }
    }
2. 使用上面介绍的保存接口:POST请求
jobName:任务名称</br>
jobGroup:任务组</br>
jobClass:TestJob测试类路径</br>
    {
      "cronExpression": "0 */1 * * * ?",
      "jobClass": "com.elvesfish.ms.job.TestJob",
      "jobDataMap": {},
      "jobDescription": "测试工作任务内容述说明",
      "jobGroup": "qq",
      "jobName": "test",
      "triggerDescription": "触发器描述说明",
      "triggerPriority": 5
    }
3. 打印日志内容
2019-04-01 15:36:00.031 DEBUG com.elvesfish.ms.dao.SecUserMapper.selectList - ==>  Preparing: SELECT user_id,user_name,password,nick_name,user_status,create_by,create_time,update_by,update_time FROM sec_user 
2019-04-01 15:36:00.032 DEBUG com.elvesfish.ms.dao.SecUserMapper.selectList - ==> Parameters: 
2019-04-01 15:36:00.037 DEBUG com.elvesfish.ms.dao.SecUserMapper.selectList - <==      Total: 6
2019-04-01 15:36:00.037 INFO  com.elvesfish.ms.job.TestJob - ==============定时任务:Mon Apr 01 15:36:00 GMT+08:00 2019
2019-04-01 15:37:00.029 DEBUG com.elvesfish.ms.dao.SecUserMapper.selectList - ==>  Preparing: SELECT user_id,user_name,password,nick_name,user_status,create_by,create_time,update_by,update_time FROM sec_user 
2019-04-01 15:37:00.029 DEBUG com.elvesfish.ms.dao.SecUserMapper.selectList - ==> Parameters: 
2019-04-01 15:37:00.033 DEBUG com.elvesfish.ms.dao.SecUserMapper.selectList - <==      Total: 6
2019-04-01 15:37:00.034 INFO  com.elvesfish.ms.job.TestJob - ==============定时任务:Mon Apr 01 15:37:00 GMT+08:00 2019

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值