spring实现定时任务的两种方式
2023-04-18 14:11:38 时间
本文为博主原创,未经允许不得转载
项目中要经常事项定时功能,在网上学习了下用spring的定时功能,基本有两种方式,在这里进行简单的总结,
以供后续参考,此篇只做简单的应用。
1.在spring-servlet.xml文件中加入task的命名空间:
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.0.xsd"
然后使用task配置扫描注解
<!-- 定时任务 --> <task:annotation-driven scheduler="qbScheduler" mode="proxy"/> <task:scheduler id="qbScheduler" />
此时就可以直接使用@Scheduled(cron = "时间格式串"),应用该注解就可以实现定时的功能
@Scheduled(cron = "0/5 * * * * ?") //每隔5秒执行一次定时任务 public void consoleInfo(){ System.out.println("定时任务"); }
第二种方法为:不使用注解实现定时任务,将定时的功能在spring配置文件中实现。
xmlns:task="http://www.springframework.org/schema/task"
xsi:schemaLocation=" http://www.springframework.org/schema/task
http://www.springframework.org/schema/task/spring-task-3.0.xsd”
<description> 定时任务 </description>
//定时注解驱动 <task:annotation-driven /> //进行定时任务的类,将其定义为一个bean <bean id="spaceStatisticsService" class="com.pojo.system.manager.sigar.impl.SpaceStatisticsServiceImpl"></bean>
//通过task标签,定义定时功能 <task:scheduled-tasks> <task:scheduled ref="spaceStatisticsService" method="statisticSpace" cron="59 59 23 * * ?" /> </task:scheduled-tasks>
要实现的代码部分为:
@Service public class SpaceStatisticsServiceImpl implements SpaceStatisticsService { @Override public void statisticSpace() { System.out.println("实现定时功能"); } }
总结:两种方法都能实现定时的功能,但明显第一种方式会比较简洁,而且更加方便。
相关文章
- “稳赢”数智转型:锐捷发布场景化无线零漫游解决方案
- Matt Hicks出任红帽新总裁兼CEO,公布红帽的下一步行动
- 腾讯汤道生:开源是产业互联网时代新的生产方式和协作模式
- 面向家庭算力网络的云网关
- 亚马逊云科技面向Kubernetes的无服务器服务Amazon Fargate在中国区域正式可用
- 特斯拉、谷歌等科技公司推动,人形机器人将更受关注
- CAP,能少了P?你知道吗?
- 人工智能磁悬浮列车:磁悬浮汽车的灵感来源
- Kubernetes网络插件详解 - Calico篇 - 概述
- IDC:2022上半年中国人工智能市场规模达23亿美元
- 云计算即将迎来又一个重要里程碑
- VXLAN 与 MPLS:从数据中心到城域以太网
- 5G 和 AI 用例——5G 如何助力人工智能落地
- 敏实集团:数字赋能,打造智慧企业
- 别老想着让机器写代码了!
- 以“升舱”之名,谈谈云原生数据仓库AnalyticDB的核心技术
- 利用人工智决策:组织精简时的客观性评估
- 践行ESG,盛业持续推动供应链科技可持续发展
- Nagarro选择亚马逊云科技为首选云提供商 高效管理百万亿计数字资产
- 详解云原生全栈监控