# spring-dynamic-job **Repository Path**: mkk/spring-dynamic-job ## Basic Information - **Project Name**: spring-dynamic-job - **Description**: Spring Quartz, 定时任务,动态定时任务 - **Primary Language**: Java - **License**: GPL-2.0 - **Default Branch**: master - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 91 - **Forks**: 50 - **Created**: 2014-12-26 - **Last Updated**: 2025-06-20 ## Categories & Tags **Categories**: task-schedule **Tags**: None ## README ## spring-dynamic-job > SpringBoot与Quartz整合示例,有固定Job与动态Job实现示例,并提供相关工具类。 项目用Maven管理, SpringBoot工程 使用的技术与版本号
application.properties
文件中数据库连接信息,并创建数据库(默认数据为名sdj),
运行others/quartz_mysql_innodb.sql
文件初始化数据库
SDJApplication.java
项目的核心对象为: DynamicSchedulerFactory
该项目已在 HeartBeat 项目中实际使用,
更多运用案例可查看该项目.
动态的Job定义类: DynamicJob
, 在动态操作Job时的类必须是该类的子类(参考TestDynamicJob
)
固定执行的Job示例类: TestFixedJobDetailBean
, 启动时加载,固定执行.
更多的操作请参考类: TestServiceImpl
如果不使用数据库(内存中存储job信息), 取消 dataSource 的配置与引用项
final String mailGuid = context.getMergedJobDataMap().getString("mailGuid");4.向 DynamicSchedulerFactory 中注册job, 如下:
DynamicSchedulerFactory.registerJob(dynamicJob);三.动态的但立即执行 - 且只执行一次(适用于将同步的操作异步化) 和二的区别在于其第2步创建DynamicJob 对象时设置startNow 为true(不设置cronExpression)
DynamicJob dynamicJob = new DynamicJob("test-job_start-now") .startNow(true) .target(TestDynamicJob.class);
与该项目相关的博客请访问 http://blog.csdn.net/monkeyking1987/article/details/42173277
若没有找到解决办法的, 欢迎发邮件到shengzhao@shengzhaoli.com一起讨论.
如果在使用项目的过程中发现任何的BUG或者更好的提议, 建议将其提交到项目的 Issues 中, 我会一直关注并不断改进项目.
关注更多我的开源项目请访问 https://andaily.com/my_projects.html