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


相关推荐: 如何用免费手机建站系统零基础打造专业网站?  Python自然语言搜索引擎项目教程_倒排索引查询优化案例  ChatGPT常用指令模板大全 新手快速上手的万能Prompt合集  深圳防火门网站制作公司,深圳中天明防火门怎么编码?  详解阿里云nginx服务器多站点的配置  如何快速完成中国万网建站详细流程?  Laravel如何使用Gate和Policy进行权限控制_Laravel权限判定与策略规则配置  潮流网站制作头像软件下载,适合母子的网名有哪些?  香港服务器选型指南:免备案配置与高效建站方案解析  php在windows下怎么调试_phpwindows环境调试操作说明【操作】  网站制作价目表怎么做,珍爱网婚介费用多少?  装修招标网站设计制作流程,装修招标流程?  Laravel Session怎么存储_Laravel Session驱动配置详解  如何基于云服务器快速搭建个人网站?  Laravel怎么自定义错误页面_Laravel修改404和500页面模板  百度浏览器网页无法复制文字怎么办 百度浏览器复制修复  如何快速选择适合个人网站的云服务器配置?  如何在橙子建站中快速调整背景颜色?  如何在万网自助建站中设置域名及备案?  Android使用GridView实现日历的简单功能  原生JS实现图片轮播切换效果  家族网站制作贴纸教程视频,用豆子做粘帖画怎么制作?  品牌网站制作公司有哪些,买正品品牌一般去哪个网站买?  安克发布新款氮化镓充电宝:体积缩小 30%,支持 200W 输出  Laravel API路由如何设计_Laravel构建RESTful API的路由最佳实践  如何获取免费开源的自助建站系统源码?  如何用PHP快速搭建高效网站?分步指南  Zeus浏览器网页版官网入口 宙斯浏览器官网在线通道  如何破解联通资金短缺导致的基站建设难题?  网页设计与网站制作内容,怎样注册网站?  Laravel如何实现图片防盗链功能_Laravel中间件验证Referer来源请求【方案】  佛山企业网站制作公司有哪些,沟通100网上服务官网?  详解免费开源的DotNet二维码操作组件ThoughtWorks.QRCode(.NET组件介绍之四)  如何快速生成专业多端适配建站电话?  python中快速进行多个字符替换的方法小结  Laravel怎么调用外部API_Laravel Http Client客户端使用  php静态变量怎么调试_php静态变量作用域调试技巧【解答】  大连网站制作公司哪家好一点,大连买房网站哪个好?  微信小程序 input输入框控件详解及实例(多种示例)  Win11怎么设置虚拟桌面 Win11新建多桌面切换操作【技巧】  移动端脚本框架Hammer.js  JS去除重复并统计数量的实现方法  网站制作公司哪里好做,成都网站制作公司哪家做得比较好,更正规?  Win11摄像头无法使用怎么办_Win11相机隐私权限开启教程【详解】  Midjourney怎样加参数调细节_Midjourney参数调整技巧【指南】  如何用腾讯建站主机快速创建免费网站?  Laravel怎么使用Markdown渲染文档_Laravel将Markdown内容转HTML页面展示【实战】  成都网站制作公司哪家好,四川省职工服务网是做什么用?  制作电商网页,电商供应链怎么做?  在线教育网站制作平台,山西立德教育官网?