SpringBoot+quartz动态定时任务组件

 

目录

背景:

开源代码地址

功能

动态定时任务依赖包

application.yml配置文件

配置文件说明

 

REST API接口

业务代码使用



背景:

 能够快速使用动态定时任务,基于quartz封装一个jar包。默认的配置信息,提供创建定时任务等等

 

开源代码地址

https://gitee.com/elvesfish/quartz-base-test

https://gitee.com/elvesfish/quartz-base

功能

  1. 支持不同的数据源配置,默认是c3p0数据源
  2. 默认是quartz集群模式
  3. 支持@Autowired注解
  4. 监听任务,打印日志
  5. 使用其他的数据源如druid,需要开启org.quartz.dataSource.enabledDataSource为true 参考工程DruidDBConfig类的配置
  6. 提供Rest访问API,quartz-base这个依赖包提供6个接口

动态定时任务依赖包

spring-boot工程依赖如下

<dependency>
	<groupId>com.elvesfish</groupId>
	<artifactId>quartz-base</artifactId>
	<version>1.0.0</version>
</dependency>

application.yml配置文件

##quartz-config
org:
  quartz:
    scheduler:
      instanceName: scheduler-quartz-test
    dataSource:
      enabledDataSource: false
      myDS:
        driver: com.mysql.cj.jdbc.Driver
        URL: jdbc:mysql://localhost:3306/quartz-base?allowMultiQueries=true&useUnicode=true&characterEncoding=UTF-8&useSSL=false&serverTimezone=GMT     
        user: root
        password: 123456
        maxConnections: 100
        discardIdleConnectionsSeconds: 60
        validationQuery: SELECT 1 FROM DUAL
    threadPool:
      threadCount: 10
    listener:
      enabledJobListener: true  
      enabledTriggerListener: true  
    jobStore:
      txIsolationLevelSerializable: true  

配置文件说明

org.quartz.scheduler.instanceName
scheduler-quartz-test
调度实例名称(自己命名)
org.quartz.dataSource.enabledDataSource
false

是否开启数据源(默认是false)

false:走的是c3p0

true:使用的是自己定义的数据源如:durid等等

org.quartz.dataSource.myDS.driver
 驱动
org.quartz.dataSource.myDS.URL
 连接地址
org.quartz.dataSource.myDS.user
 用户名
org.quartz.dataSource.myDS.password
 密码
org.quartz.dataSource.myDS.maxConnections
100最大连接数
org.quartz.dataSource.myDS.discardIdleConnectionsSeconds
60丢弃连接时间
org.quartz.dataSource.myDS.validationQuery
SELECT 1 FROM DUAL
验证查询
org.quartz.threadPool.threadCount
20线程数
org.quartz.listener.enabledJobListener
true
开启Job监听
org.quartz.listener.enabledTriggerListener
true
开启触发器监听
org.quartz.jobStore.txIsolationLevelSerializable
true
事务级别

 

REST API接口

    /scheduler-job/save
    /scheduler-job/edit
    /scheduler-job/pause
    /scheduler-job/resume
    /scheduler-job/list
    /scheduler-job/delete

业务代码使用

public class Test2Job implements Job {
    private static Logger logger = LoggerFactory.getLogger(Test2Job.class);
    @Override
    public void execute(JobExecutionContext context) throws JobExecutionException {
        logger.info("test222效果融合");
    }
}

 

 

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值