Spring定时任务实现与配置(二)

发布时间 - 2026-01-11 01:59:21    点击率:

接上一篇,原本我以为我实现的方式很简单了,在准备写(一)的时候,就去查了查别人是怎么实现定时任务的。不查还好,这一查,发现还有更简单的。所以就会有这篇文章。

本文主要是讨论,在完成Spring 项目搭建的情况下完成简单的定时任务实现。

在上一篇中,我们实现了“最简单”的定时任务,在那里我们是基于MAVEN管理包的依赖,依赖以下两个包:

<!-- 定时器依赖 开始 -->
    <dependency>
      <groupId>org.springframework</groupId>
      <artifactId>spring-context-support</artifactId>
      <version>4.0.2.RELEASE</version>
    </dependency>
    <dependency>
      <groupId>org.quartz-scheduler</groupId>
      <artifactId>quartz</artifactId>
      <version>2.2.1</version>
    </dependency>
    <!-- 定时器依赖 结束 -->

原本我想着 新的方法可能不需要呢,于是试试注释掉会怎么样,于是就出现了这样的情况:

显然我想错了,正式开始:

第一步,在maven的pom文件中添加上文列出的两个包;

第二步,在spring配置管理xml头部中,添加命名空间(大部分文献都是这样写的,但还没有找到正式的说法,如果有我会再修改这个名词的,现在暂且用着)

<beans xmlns:task="http://www.springframework.org/schema/task"   
xsi:schemaLocation="http://www.springframework.org/schema/task          
http://www.springframework.org/schema/task/spring-task-4.1.xsd ">

第三步,在spring配置文件中配置定时任务相关内容  

<task:annotation-driven scheduler="kevinScheduler"/>  
<task:scheduler id="kevinScheduler" pool-size="5"/> 

第四步,完成业务逻辑实现类:

import java.text.DateFormat; 
import java.text.SimpleDateFormat; 
import java.util.concurrent.TimeUnit; 
import org.joda.time.DateTime; 
import org.springframework.scheduling.annotation.Scheduled; 
import org.springframework.stereotype.Component; 
@Component 
public class ATask { 
    @Scheduled(cron="0/10 * * * * ? ")  //每10秒执行一次   
    public void aTask(){   
      try { 
        TimeUnit.SECONDS.sleep(20); 
      } catch (InterruptedException e) { 
        e.printStackTrace(); 
      } 
      DateFormat sdf = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");  
      System.out.println(sdf.format(DateTime.now().toDate())+"*********A任务每10秒执行一次进入测试");   
    }   
}

这样的方式比配置的更为简单,但是我认为配置的方式会更加灵活,当然实现的方式方法很多。我们只讨论最简单的实现,显然这个是我看到的最简单的实现方法。

开启服务,我们来看看效果:

大致就这样完成了,但是这里我发现好像遇到了上一篇文章结尾的时候,提到的同一时间点运行了两次代码。我得再看看 ,如果有知道的朋友请给我留言!

下一篇是写关于cron 表达式

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持。


# Spring  # 定时任务  # Spring定时任务实现与配置(一)  # java中 spring 定时任务 实现代码  # SpringBoot定时任务两种(Spring Schedule 与 Quartz 整合 )实现方法  # 最流行的java后台框架spring quartz定时任务  # Spring Task定时任务的配置和使用详解  # spring 定时任务@Scheduled详解  # 详解Spring整合Quartz实现动态定时任务  # spring中定时任务taskScheduler的详细介绍  # 详解Spring Boot中使用@Scheduled创建定时任务  # Spring整合Quartz实现定时任务调度的方法  # 最简单  # 都是  # 我想  # 这一  # 相关内容  # 不需要  # 是怎么  # 两次  # 上一  # 为我  # 错了  # 很简单  # 来看看  # 我以  # 有我  # 下一篇  # 这篇文章  # 我得  # 在上  # 会再 


相关栏目: 【 网站优化151355 】 【 网络推广146373 】 【 网络技术251813 】 【 AI营销90571


相关推荐: Win11搜索不到蓝牙耳机怎么办 Win11蓝牙驱动更新修复【详解】  Laravel中DTO是什么概念_在Laravel项目中使用数据传输对象(DTO)  bing浏览器学术搜索入口_bing学术文献检索地址  详解Nginx + Tomcat 反向代理 如何在高效的在一台服务器部署多个站点  教你用AI润色文章,让你的文字表达更专业  如何在阿里云虚拟主机上快速搭建个人网站?  韩国网站服务器搭建指南:VPS选购、域名解析与DNS配置推荐  香港服务器网站测试全流程:性能评估、SEO加载与移动适配优化  Swift中switch语句区间和元组模式匹配  Bootstrap CSS布局之列表  Laravel Telescope怎么调试_使用Laravel Telescope进行应用监控与调试  html如何与html链接_实现多个HTML页面互相链接【互相】  Laravel如何实现API速率限制?(Rate Limiting教程)  企业在线网站设计制作流程,想建设一个属于自己的企业网站,该如何去做?  如何制作新型网站程序文件,新型止水鱼鳞网要拆除吗?  JavaScript如何实现音频处理_Web Audio API如何工作?  如何在IIS服务器上快速部署高效网站?  mc皮肤壁纸制作器,苹果平板怎么设置自己想要的壁纸我的世界?  详解jQuery中的事件  如何基于云服务器快速搭建网站及云盘系统?  北京网站制作费用多少,建立一个公司网站的费用.有哪些部分,分别要多少钱?  如何用景安虚拟主机手机版绑定域名建站?  制作ppt免费网站有哪些,有哪些比较好的ppt模板下载网站?  Laravel如何实现本地化和多语言支持_Laravel多语言配置与翻译文件管理  网站视频制作书签怎么做,ie浏览器怎么将网站固定在书签工具栏?  Win11怎么关闭资讯和兴趣_Windows11任务栏设置隐藏小组件  Laravel怎么多语言本地化设置_Laravel语言包翻译与Locale动态切换【手册】  使用Dockerfile构建java web环境  网站优化排名时,需要考虑哪些问题呢?  如何在局域网内绑定自建网站域名?  Claude怎样写结构化提示词_Claude结构化提示词写法【教程】  免费网站制作appp,免费制作app哪个平台好?  如何用wdcp快速搭建高效网站?  惠州网站建设制作推广,惠州市华视达文化传媒有限公司怎么样?  Laravel如何使用Passport实现OAuth2?(完整配置步骤)  Laravel如何实现API版本控制_Laravel API版本化路由设计策略  如何用AWS免费套餐快速搭建高效网站?  北京网站制作公司哪家好一点,北京租房网站有哪些?  JavaScript Ajax实现异步通信  南京网站制作费用,南京远驱官方网站?  Laravel如何生成和使用数据填充?(Seeder和Factory示例)  html5的keygen标签为什么废弃_替代方案说明【解答】  Laravel如何实现用户密码重置功能?(完整流程代码)  网站制作软件免费下载安装,有哪些免费下载的软件网站?  大型企业网站制作流程,做网站需要注册公司吗?  ,网页ppt怎么弄成自己的ppt?  Laravel怎么配置自定义表前缀_Laravel数据库迁移与Eloquent表名映射【步骤】  常州企业网站制作公司,全国继续教育网怎么登录?  javascript日期怎么处理_如何格式化输出  如何在IIS中配置站点IP、端口及主机头?