千家信息网

Java定时任务的几种方式介绍

发表于:2026-11-01 作者:千家信息网编辑
千家信息网最后更新 2026年11月01日,本篇内容主要讲解"Java定时任务的几种方式介绍",感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习"Java定时任务的几种方式介绍"吧!Java 定时任务的几种
千家信息网最后更新 2026年11月01日Java定时任务的几种方式介绍

本篇内容主要讲解"Java定时任务的几种方式介绍",感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习"Java定时任务的几种方式介绍"吧!

Java 定时任务的几种实现方式

•基于 java.util.Timer 定时器,实现类似闹钟的定时任务•使用 Quartz、elastic-job、xxl-job 等开源第三方定时任务框架,适合分布式项目应用•使用 Spring 提供的一个注解:@Schedule,开发简单,使用比较方便,也是本文介绍的一种方式

Spring 自身提供了对定时任务的支持,本文将介绍 Spring Boot 中 @Scheduled 定时器的使用。

创建定时任务

首先,在项目启动类上添加 @EnableScheduling 注解,开启对定时任务的支持

@SpringBootApplication@EnableSchedulingpublic class ScheduledApplication {
public static void main(String[] args) { SpringApplication.run(ScheduledApplication.class, args); }
}

其中 @EnableScheduling注解的作用是发现注解@Scheduled的任务并后台执行。

其次,编写定时任务类和方法,定时任务类通过 Spring IOC 加载,使用 @Component 注解,定时方法使用 @Scheduled 注解。

@Componentpublic class ScheduledTask {
@Scheduled(fixedRate = 3000) public void scheduledTask() { System.out.println("任务执行时间:" + LocalDateTime.now()); }
}

fixedRate 是 long 类型,表示任务执行的间隔毫秒数,以上代码中的定时任务每 3 秒执行一次。

运行定时工程,项目启动和运行日志如下,可见每 3 秒打印一次日志执行记录。

2019-10-16 22:50:04.791  INFO 10610 --- [           main] com.wupx.ScheduledApplication                : Started ScheduledApplication in 1.513 seconds (JVM running for 1.976)任务执行时间:2019-10-16T22:50:04.791任务执行时间:2019-10-16T22:50:07.782任务执行时间:2019-10-16T22:50:10.779

@Scheduled详解

在上面的入门例子中,使用了@Scheduled(fixedRate = 3000) 注解来定义每过 3 秒执行的任务,对于 @Scheduled 的使用可以总结如下几种方式:

•@Scheduled(fixedRate = 3000) :上一次开始执行时间点之后 3 秒再执行(fixedRate 属性:定时任务开始后再次执行定时任务的延时(需等待上次定时任务完成),单位毫秒)•@Scheduled(fixedDelay = 3000) :上一次执行完毕时间点之后 3 秒再执行(fixedDelay 属性:定时任务执行完成后再次执行定时任务的延时(需等待上次定时任务完成),单位毫秒)•@Scheduled(initialDelay = 1000, fixedRate = 3000) :第一次延迟1秒后执行,之后按fixedRate的规则每 3 秒执行一次(initialDelay 属性:第一次执行定时任务的延迟时间,需配合fixedDelay或者fixedRate来使用)•@Scheduled(cron="0 0 2 1 * ? *") :通过cron表达式定义规则

其中,常用的cron表达式有:

•0 0 2 1 * ? * :表示在每月 1 日的凌晨 2 点执行•0 15 10 ? * MON-FRI :表示周一到周五每天上午 10:15 执行•0 15 10 ? 6L 2019-2020 :表示 2019-2020 年的每个月的最后一个星期五上午 10:15 执行•0 0 10,14,16 * * ? :每天上午 10 点,下午 2 点,4 点执行•0 0/30 9-17 * * ? :朝九晚五工作时间内每半小时执行•0 0 12 ? * WED :表示每个星期三中午 12 点执行•0 0 12 * * ? :每天中午 12点执行•0 15 10 ? * * :每天上午 10:15 执行•0 15 10 * * ? :每天上午 10:15 执行•0 15 10 * * ? * :每天上午 10:15 执行•0 15 10 * * ? 2019 :2019 年的每天上午 10:15 执行

总结

本文主要介绍了基于 Spring Boot 内置的定时任务的配置使用,主要涉及两个注解,四个属性的配置:

•主程序入口 @EnableScheduling 开启定时任务•定时方法上 @Scheduled 设置定时•cron属性:按cron规则执行•fixedRate 属性:以固定速率执行•fixedDelay 属性:上次执行完毕后延迟再执行•initialDelay 属性:第一次延时执行,第一次执行完毕后延迟后再次执行


到此,相信大家对"Java定时任务的几种方式介绍"有了更深的了解,不妨来实际操作一番吧!这里是网站,更多相关内容可以进入相关频道进行查询,关注我们,继续学习!

任务 属性 时间 注解 方式 方法 第一次 延迟 再次 规则 项目 内容 单位 定时器 日志 星期 表达式 上一 学习 支持 数据库的安全要保护哪些东西 数据库安全各自的含义是什么 生产安全数据库录入 数据库的安全性及管理 数据库安全策略包含哪些 海淀数据库安全审计系统 建立农村房屋安全信息数据库 易用的数据库客户端支持安全管理 连接数据库失败ssl安全错误 数据库的锁怎样保障安全 互联网是第几次科技革命的成果 互联网的科技创新 鑫亿盛互联网科技 云电互联网科技 蓝色互联网科技 恒银科技与互联网金融 字节跳动和互联网科技 昭通互联网科技选哪家 互联网科技扶贫时间 科技类公司包括互联网吗 科技赋能视角下互联网保险发展 滨湖区互联网智能科技产品有哪些 2021互联网科技公司排名 工业互联网科技成果转化 2021世界互联网领先科技成果发布 互联网科技新闻 广州三三互联网科技有限公司 互联网科技创新创业项目 10位科技互联网大佬 科技发展第三阶段互联网时代 科技互联网龙头 天津摩尔互联网科技 汇久创客互联网科技 甘肃拓世互联网科技有限公司 互联网大会黑科技排名 千方科技属于互联网企业吗 徐州市互联网科技有限公司 保险科技服务互联网营销体系 伊宁互联网科技做什么的 瑞安市蟠桃会互联网科技有限公司
0