ToB企服应用市场:ToB评测及商务社交产业平台

标题: 定时任务特辑 Quartz、xxl-job、elastic-job、Cron四个定时任务框架对比, [打印本页]

作者: 盛世宏图    时间: 2025-1-21 03:33
标题: 定时任务特辑 Quartz、xxl-job、elastic-job、Cron四个定时任务框架对比,
专栏集锦,大佬们可以收藏以备不时之需:
Spring Cloud 专栏:http://t.csdnimg.cn/WDmJ9
Python 专栏:http://t.csdnimg.cn/hMwPR
Redis 专栏:http://t.csdnimg.cn/Qq0Xc
TensorFlow 专栏:http://t.csdnimg.cn/SOien
Logback 专栏:http://t.csdnimg.cn/UejSC
量子盘算:
量子盘算 | 解密著名量子算法Shor算法和Grover算法
AI机器学习实战:
AI机器学习实战 | 使用 Python 和 scikit-learn 库举行感情分析
AI机器学习 | 基于librosa库和使用scikit-learn库中的分类器举行语音识别
Python实战:
Python实战 | 使用 Python 和 TensorFlow 构建卷积神经网络(CNN)举行人脸识别
Spring Cloud实战:
Spring Cloud实战 |分布式系统的流量控制、熔断降级组件Sentinel如何使用
Spring Cloud 实战 | 解密Feign底层原理,包含实战源码
Spring Cloud 实战 | 解密负载均衡Ribbon底层原理,包含实战源码
1024程序员节特辑文章:
1024程序员狂欢节特辑 | ELK+ 协同过滤算法构建个性化推荐引擎,智能实现“千人千面”
1024程序员节特辑 | 解密Spring Cloud Hystrix熔断提高系统的可用性和容错能力
1024程序员节特辑 | ELK+ 用户画像构建个性化推荐引擎,智能实现“千人千面”
1024程序员节特辑 | OKR VS KPI谁更合适?
1024程序员节特辑 | Spring Boot实战 之 MongoDB分片或复制集操纵
Spring实战系列文章:
Spring实战 | Spring AOP核心秘笈之葵花宝典
Spring实战 | Spring IOC不能说的秘密?
国庆中秋特辑系列文章:
国庆中秋特辑(八)Spring Boot项目如何使用JPA
国庆中秋特辑(七)Java软件工程师常见20道编程面试题
国庆中秋特辑(六)大门生常见30道宝藏编程面试题
国庆中秋特辑(五)MySQL如何性能调优?下篇
国庆中秋特辑(四)MySQL如何性能调优?上篇
国庆中秋特辑(三)使用天生对抗网络(GAN)天生具有节日氛围的画作,深度学习框架 TensorFlow 和 Keras 来实现
国庆中秋特辑(二)浪漫祝福方式 使用天生对抗网络(GAN)天生具有节日氛围的画作
国庆中秋特辑(一)浪漫祝福方式 用循环神经网络(RNN)或长短时记忆网络(LSTM)天生祝福诗词

目录


1、Quartz、xxl-job、elastic-job、Cron四个定时任务框架详细介绍



常见题目及解决方法:


2、Quartz、xxl-job、elastic-job、Cron四个定时任务框架和Spring Boot项目集成实战

然后在 Spring Boot 项目的 application.properties 文件中添加相干的设置,例如:
  1. # 配置 Quartz 数据源
  2. spring.datasource.url=jdbc:mysql://localhost:3306/quartz_db?useSSL=false&serverTimezone=UTC
  3. spring.datasource.username=quartz
  4. spring.datasource.password=quartz
  5. # 配置 Quartz 作业类
  6. spring.quartz.job.class=com.example.Job
  7. # 配置 Quartz 作业调度器
  8. spring.quartz.job.properties.jobName=myJob
  9. spring.quartz.job.properties.group=myGroup
  10. spring.quartz.job.properties.cron=0/5 * * * * *
  11. spring.quartz.job.properties.jobDataMap=@{}
复制代码
接下来,创建一个继承自 QuartzJob 的作业类,并实现 execute 方法,例如:
  1. @Component
  2. public class Job implements QuartzJob {
  3.     @Override
  4.     public void execute(JobExecutionContext context) {
  5.         // 作业执行逻辑
  6.     }
  7. }
复制代码
末了,在 Spring Boot 的启动类上添加 @EnableScheduling 注解,例如:
  1. @SpringBootApplication
  2. @EnableScheduling
  3. public class Application {
  4.    
  5.     public static void main(String[] args) {
  6.         SpringApplication.run(Application.class, args);
  7.     }
  8. }
复制代码
然后在 Spring Boot 项目的 application.properties 文件中添加相干的设置,例如:
  1. # 配置 xxl-job 调度器
  2. spring.xxl.job.admin.address=localhost:8080
  3. spring.xxl.job.core.executor.type=simple
  4. spring.xxl.job.core.job.coalesce=true
  5. spring.xxl.job.core.job.spring.cron=0/5 * * * * *
  6. spring.xxl.job.core.job.spring.name=myJob
  7. spring.xxl.job.core.job.spring.group=myGroup
  8. spring.xxl.job.core.job.spring.timeout=30000
复制代码
接下来,创建一个继承自 AbstractJob 的作业类,并实现 execute 方法,例如:
  1. @Component
  2. public class Job extends AbstractJob {
  3.     @Override
  4.     protected void executeInternal(JobExecutionContext context) {
  5.         // 作业执行逻辑
  6.     }
  7. }
复制代码
末了,在 Spring Boot 的启动类上添加 @EnableXxlJob 注解,例如:
  1. @SpringBootApplication
  2. @EnableXxlJob
  3. public class Application {
  4.    
  5.     public static void main(String[] args) {
  6.         SpringApplication.run(Application.class, args);
  7.     }
  8. }
复制代码
然后在 Spring Boot 项目的 application.properties 文件中添加相干的设置,例如:
  1. # 配置 ElasticJob 数据源
  2. spring.datasource.url=jdbc:mysql://localhost:3306/elastic_job_db?useSSL=false&serverTimezone=UTC
  3. spring.datasource.username=elastic_job
  4. spring.datasource.password=elastic_job
  5. # 配置 ElasticJob 作业类
  6. spring.elasticjob.job.class=com.example.Job
  7. spring.elasticjob.job.name=myJob
  8. spring.elasticjob.job.group=myGroup
  9. spring.elasticjob.job.cron=0/5 * * * * *
  10. spring.elasticjob.job.timeout=30000
复制代码
接下来,创建一个继承自 ElasticJob 的作业类,并实现 execute 方法,例如:
  1. @Component
  2. public class Job implements ElasticJob {
  3.     @Override
  4.     public void execute(JobExecutionContext context) {
  5.         // 作业执行逻辑
  6.     }
  7. }
复制代码
末了,在 Spring Boot 的启动类上添加 @EnableElasticJob 注解,例如:
  1. @SpringBootApplication
  2. @EnableElasticJob
  3. public class Application {
  4.    
  5.     public static void main(String[] args) {
  6.         SpringApplication.run(Application.class, args);
  7.     }
  8. }
复制代码
接下来,创建一个继承自 CronJob 的作业类,并实现 execute 方法,例如:
  1. @Component
  2. public class Job implements CronJob {
  3.     @Override
  4.     public void execute(JobExecutionContext context) {
  5.         // 作业执行逻辑
  6.     }
  7. }
复制代码
末了,在 Spring Boot 的启动类上添加 @EnableScheduling 注解,例如:
  1. @SpringBootApplication
  2. @EnableScheduling
  3. public class Application {
  4.    
  5.     public static void main(String[] args) {
  6.         SpringApplication.run(Application.class, args);
  7.     }
  8. }
复制代码
以上就是 Quartz、xxl-job、elastic-job、Cron 四个定时任务框架如何集成到 Spring Boot 的详细介绍,每个框架都有相应的使用方法和注意事项,可以根据实际需求选择合适的框架举行使用。

免责声明:如果侵犯了您的权益,请联系站长,我们会及时删除侵权内容,谢谢合作!更多信息从访问主页:qidao123.com:ToB企服之家,中国第一个企服评测及商务社交产业平台。




欢迎光临 ToB企服应用市场:ToB评测及商务社交产业平台 (https://dis.qidao123.com/) Powered by Discuz! X3.4