游戏艺术活动中心 - 最新网游活动与资讯

SpringBoot定时任务--选型/对比/框架

原文网址:SpringBoot定时任务--选型/对比/框架_IT利刃出鞘的博客-CSDN博客

简介

在项目中我们经常会用到定时任务。本文介绍一些定时任务框架的区别。

项

QuartZ

xxl-job

SchedulerX 2.0

PowerJob

易用性(推荐度)★★★★★★★★★★ 是否有前端页面

无

有

有

有

定时类型

CRON

CRON

CRON、固定频率、固定延迟、OpenAPI

CRON、固定频率、固定延迟、OpenAPI

支持的数据库

关系型数据库

(MySQL、Oracle...)

MySQL

人民币(不开源)

任意 Spring Data Jpa支持的关系型数据库(MySQL、Oracle...)

报警监控

无

邮件

短信

邮件,提供接口允许开发者扩展

指定调度类型不确定支持不确定不支持开发方式略便捷:Bean里的方法上加注解略复杂:单个Bean实现PowerJob的指定接口。 任务类型

内置Java

内置Java、GLUE Java、Shell、Python等脚本

内置Java、外置Java(FatJar)、Shell、Python等脚本

内置Java、外置Java(容器)、Shell、Python等脚本

分布式任务

无

静态分片

MapReduce 动态分片

MapReduce 动态分片

在线任务治理

不支持

支持

支持

支持

日志白屏化

不支持

支持

不支持

支持

调度方式及性能

基于数据库锁

有性能瓶颈

基于数据库锁

有性能瓶颈

不详

无锁化设计,性能强劲无上限

DAG 工作流

不支持

不支持

支持

支持

Timer、定时线程池、Spring的定时器,这三个就不写上了。这三者都没有前端页面,且不支持分布式(部署多个实例时只在一个实例上边执行定时任务)。

在实际项目中,90%都是用的XXL-JOB,因为它易用性最好。PowerJob虽然性能好,功能多,但不易用,实际项目并不需要那么高的性能!

CRON

见:Cron(Crontab)--使用/教程/实例_IT利刃出鞘的博客-CSDN博客

方案1:JDK自带

见:Java--Timer--使用/常用方法/实例_java timer循环_IT利刃出鞘的博客-CSDN博客

方案2:定时线程池

见:

Java线程池系列--线程池的种类(Executors的用法)_IT利刃出鞘的博客-CSDN博客

简介

可利用newSingleThreadScheduledExecutor();

方案3:Spring Task

Spring/SpringBoot--定时任务--@Scheduled注解--使用/教程/实例_IT利刃出鞘的博客-CSDN博客

方案4:Quartz

Quartz--SpringBoot--整合/使用/用法/实例/示例_IT利刃出鞘的博客-CSDN博客

方案5:XXL-JOB

XXL-JOB--SpringBoot--使用/教程/实例_IT利刃出鞘的博客-CSDN博客

方案6:PowerJob

PowerJob--SpringBoot--使用/教程/实例_IT利刃出鞘的博客-CSDN博客

2025-11-24 22:51:58
友情链接