目录
背景:
能够快速使用动态定时任务,基于quartz封装一个jar包。默认的配置信息,提供创建定时任务等等
开源代码地址
https://gitee.com/elvesfish/quartz-base-test
https://gitee.com/elvesfish/quartz-base
功能
- 支持不同的数据源配置,默认是c3p0数据源
- 默认是quartz集群模式
- 支持@Autowired注解
- 监听任务,打印日志
- 使用其他的数据源如druid,需要开启org.quartz.dataSource.enabledDataSource为true 参考工程DruidDBConfig类的配置
- 提供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
配置文件说明
| | 调度实例名称(自己命名) |
| false | 是否开启数据源(默认是false) false:走的是c3p0 true:使用的是自己定义的数据源如:durid等等 |
| 驱动 | |
| 连接地址 | |
| 用户名 | |
| 密码 | |
| 100 | 最大连接数 |
| 60 | 丢弃连接时间 |
| | 验证查询 |
| 20 | 线程数 |
| | 开启Job监听 |
| | 开启触发器监听 |
| | 事务级别 |
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效果融合");
}
}
本文介绍了一款基于Quartz的动态定时任务封装项目,支持快速创建和管理定时任务,提供REST API接口,并详细解析了配置文件参数及依赖包信息。
5493

被折叠的 条评论
为什么被折叠?



