首页 > 其他分享 >任务调度SpringTask入门

任务调度SpringTask入门

时间:2024-06-23 13:59:52浏览次数:3  
标签:xml web task 入门 SpringTask spring 任务调度

任务调度简介

1.1什么是任务调度
在企业级应用中,经常会制定一些“计划任务”,即在某个时间点做某件事情,核心是以时间为关注点,即在一个特定的时间点,系统执行指定的一个操作。常见的任务调度框架有Quartz和SpringTask等。

SpringTask入门

1.2 SpringTask入门小Demo
创建模块52xbc-task-service,引入spring相关依赖 dao 和common工程,tomcat7端口为9108
添加web.xml
添加配置文件applicationContext-task.xml ,内容如下

<?xml version="1.0" encoding="UTF-8"?>
<beans xmlns="http://www.springframework.org/schema/beans"
    xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:p="http://www.springframework.org/schema/p"
    xmlns:context="http://www.springframework.org/schema/context"
    xmlns:task="http://www.springframework.org/schema/task"    
    xsi:schemaLocation="http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans.xsd
        http://www.springframework.org/schema/context http://www.springframework.org/schema/context/spring-context.xsd
        http://www.springframework.org/schema/task http://www.springframework.org/schema/task/spring-task-4.2.xsd">
    <context:component-scan base-package="com.pinyougou.task"/>
    <task:annotation-driven/>
</beans>

导入spring核心包

打开pom.xml文件添加spring核心包

 <dependency>
       <groupId>org.springframework</groupId>
      <artifactId>spring-core</artifactId>
       <version>4.2.5.RELEASE</version>
    </dependency>

    <dependency>
      <groupId>org.springframework</groupId>
      <artifactId>spring-web</artifactId>
      <version>4.2.5.RELEASE</version>
    </dependency>

创建包cn.52xbc.task

编写类

@Component
public class SeckillTask {
    /**
     * 刷新秒杀商品
     */
    @Scheduled(cron="* * * * * ?")
    public void refreshSeckillGoods(){
        System.out.println("执行了任务调度"+new Date());        
    }        
}

加载spring容器

修改web.xml文件

<context-param>
    <param-name>contextConfigLocation</param-name>
    <param-value>classpath:applicationContext-task.xml</param-value>
  </context-param>
  <listener>
    <listener-class>org.springframework.web.context.ContextLoaderListener</listener-class>
  </listener>

执行后会看到控制台每秒都输出了当前时间,其中cron设置的为表达式,是执行的时间规则。

标签:xml,web,task,入门,SpringTask,spring,任务调度
From: https://blog.csdn.net/2301_80488214/article/details/139899594

相关文章

  • 《Python编程:从入门到实践》
    书籍介绍 hi,我是神虚本书是一本针对所有层次的Python读者而作的Python入门书。全书分两部分:第一部分介绍用Python编程所必须了解的基本概念,包括matplotlib、NumPy和Pygal等强大的Python库和工具介绍,以及列表、字典、if语句、类、文件与异常、代码测试等内容;第二部......
  • NSIS 入门教程 (三)
    引言 在教程的第二部分中,我们为安装程序增加了一个卸载程序,并查看了一些其他的向导页面以及安装部分的选择。第三部分的目标是使安装程序的外观更加现代化。 更现代的外观 为了给安装程序一个更现代的外观,我们要启用现代用户界面。要提升我们的安装程序(基于“secondinsta......
  • C++入门 vector深度剖析及模拟实现
    目录vector析构函数模拟实现vector赋值拷贝模拟实现vector拷贝构造模拟实现vector构造函数模拟实现类模板的成员函数n个val构造单参数和多参数对象隐式类型转换使用memcpy拷贝问题在上两篇有关vector的模拟实现中,还有构造,拷贝构造,赋值拷贝以及析构函数没有实现,本篇主......
  • MySQL入门学习-连接查询.CROSS JOIN
        CROSSJOIN(交叉连接):返回左表中的所有行,左表中的每一行与右表中的所有行组合,返回的行数等于左表行数乘以右表行数。一、连接查询包括:1.CROSSJOIN(交叉连接):返回左表中的所有行,左表中的每一行与右表中的所有行组合。2.INNERJOIN(内连接):返回左表和右表......
  • MySQL入门学习-连接查询.RIGHT JOIN
        RightsJoin是MySQL中的一种连接查询类型,用于根据右表中的匹配条件,将左表中的数据与右表中的数据进行连接。    一、与其他连接查询相比,RightsJoin具有以下特点:1.连接方向:RightsJoin以右表为主表,左表为从表。连接结果将包含右表中的所有行,而左表......
  • AI职场写作|为你所做的学习过滤,入门与进阶
    GPT的使用门槛已经变得越来越低,之前文章中推荐的2款GPT零成本应用平台,已经不需要考虑网络、成本问题了。学会跟GPT对话,是一项要尽快掌握的技能。未来最快实现的,可能不是AI取代我们,而是不会使用AI的人,逐渐被懂得使用AI的人所取代。在未来,各种AI的应用,在使用上,肯定会变......
  • 12. Lammps入门in文件vscode高亮插件-Lammps Syntax Highlighting
    来源:“码农不会写诗”公众号链接:Lammps入门in文件vscode高亮插件-LammpsSyntaxHighlighting文章目录01LammpsSyntaxHighlighting02安装03效果LammpsSyntaxHighlighting  工欲善其事必先利其器,Lammps语法高亮插件不仅是美观视觉必备,也是命令学习、......
  • python入门基础知识(错误和异常)
    本文部分内容来自菜鸟教程Python基础教程|菜鸟教程(runoob.com) 本人负责概括总结代码实现。以此达到快速复习目的目录语法错误异常异常处理try/excepttry/except...elsetry-finally语句抛出异常用户自定义异常内置异常类型常见的标准异常类型语法错误P......
  • 【GitHub从入门到精通】Github如何参与开源贡献:pull request的详细操作流程
    本文深入探讨了如何通过Github的PullRequest功能参与开源项目。文章首先介绍了必要的准备工作,包括创建Github账号和配置SSHKey。接下来,详细描述了从Fork项目到克隆仓库,再到创建新分支、在本地进行更改、提交和推送更改的每一步骤。然后,解释了如何创建和参与PullRequest,并......
  • kettle从入门到精通 第七十三课 ETL之kettle kettle调用http分页接口教程
    场景:kettle调用http接口获取数据(由于数据量比较大,鉴于网络和性能考虑,所以接口是个分页接口)。 方案:构造页码list,然后循环调用接口。1、总体设计1)、初始化分页参数pageNum=1,pageSize=20,这里的pageSize可以根据自己的需求自行调整,比如每次从接口取数100或者1000等等。2)、第一......