【Spring配置文件】Spring定时器的使用及配置

2023-11-11

如何在spring中配置定时任务?
spring的定时任务配置分为三个步骤:
1、定义任务
2、任务执行策略配置
3、启动任务

1、定义任务

<!--要定时执行的方法-->
<bean id="testTaskJob"
class="org.springframework.scheduling.quartz.MethodInvokingJobDetailFactoryBean">
<property name="targetObject">
<!--指定要定时执行的方法所在类,将定时任务定义成bean-->
<ref bean="testTask" />
</property>
<property name="targetMethod">
<!--指定定时执行的方法-->
<value>execute</value>
</property>
<property name="concurrent">
<!--指定目标封装为有状态的任务,有状态的任务不能并发执行,无状态的任务可并发执行-->
<value>false</value>
</property>
</bean>

2、任务执行策略配置
(1)指定重复间隔的定时任务

<!-- 调度时间设置-->
<bean id="testTaskJobTrigger"
class="org.springframework.scheduling.quartz.SimpleTriggerBean">
<property name="jobDetail">
<ref bean="testTaskJob" />
</property>
<!-- 延时启动时间,单位ms -->
<property name="startDelay" value="60000"></property>
<!-- 重复间隔时间,单位ms -->
<property name="repeatInterval" value="60000">
</property>
</bean>

(2)按周期执行的任务

 <!-- 定义触发时间 -->
    <bean id="doTime"
        class="org.springframework.scheduling.quartz.CronTriggerBean">
        <property name="jobDetail">
            <ref bean="testTaskJob" />
        </property>
        <!-- cron表达式,此处是每天1042执行 -->
        <property name="cronExpression">
            <value>0 42 10 * * ?</value>
        </property>
    </bean>

3、启动任务

<!--启动工作-->
<bean lazy-init="false"
class="org.springframework.scheduling.quartz.SchedulerFactoryBean">
<property name="triggers">
<list>
<!-- 这里添加多个定时任务触发器,对应第2步的bean id -->
<ref local="testTaskJobTrigger" />
</list>
</property>
</bean>

实际案例:
1、Spring MVC

<beans xmlns="http://www.springframework.org/schema/beans"
       xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
       xsi:schemaLocation="http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans.xsd" default-autowire="byName">

2、

<!--  每天凌晨040触发,检索即将到期的认证学员,并自动发送邮件  -->
<bean id="moSchedule" class="org.springframework.scheduling.quartz.CronTriggerFactoryBean">
        <property name="jobDetail">
            <bean class="org.springframework.scheduling.quartz.MethodInvokingJobDetailFactoryBean">
                <!--要执行的类名如下-->
                <property name="targetObject">
                    <ref bean="moTestScheduleService" />
                </property>
                <!--要执行的方法名如下-->
                <property name="targetMethod">
                    <value>moSchedule</value>
                </property>
                <!--指定最终封装出的任务是否有状态-->
                <!--指定目标封装为有状态的任务,有状态的任务不能并发执行,无状态的任务可并发执行-->
                <property name="concurrent">
                    <value>false</value>
                </property>
            </bean>
        </property>
        <!--设定触发时间-->
        <property name="cronExpression">
            <value>0 50 0 * * ? </value><!--  每天凌晨050触发  -->
        </property>
    </bean>

3、

<!--启动工作-->
    <bean class="org.springframework.scheduling.quartz.SchedulerFactoryBean"  lazy-init="false" autowire="no"> 
		<property name="triggers"> 
			<list>
                <!--<list> 里添加多个定时任务触发器,对应前面的bean id -->
                <!--如:岗位认证到期邮件发送-->
                <ref bean="moSchedule"/>
			</list>
		</property> 
	</bean>
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

【Spring配置文件】Spring定时器的使用及配置 的相关文章

随机推荐

  • web服务器的简单运用,搭建一个满足些许功能的网站

    实验 搭建一个名为openlab的web网站 网站需求 1 基于域名 www openlab com 可以访问网站内容为 welcom to openlab 2 给该公司创建三个子界面分别显示学生信息 教学资料和缴费网站 基于www ope
  • 数据流式传输_在Android上使用rxjava从家庭影院设备流式传输数据

    数据流式传输 介绍 Introduction In my initial blog post around building an Android companion app for my NAD home cinema receiver
  • LLVM教程(二)-- LLVM的安装

    1 下载CMake版本 https cmake org download 下载的CMake版本必须大于 Version 3 4 3 注如果系统中已经有CMake了通过 cmake version 查看一下版本号 大于就不用下载了 lt 1
  • Windows10 安装 Texlive2019 和 Texstudio

    文章目录 texlive2019的下载与安装 1 下载 2 安装 texstudio的安装及简单设置 1 设置中文界面 2 添加行号 3 设置编译器与编码 4 第一个简单程序 小白人生第一次认识 Latex 一晚上加一上午安装配置成功 参考
  • 【Java设计模式】这么详细,你还不懂建造者模式嘛!

    我是清风 每天学习一点点 快乐成长多一点 这些都是我的日常笔记以及总结 目录 建造者 建造者模式和工厂模式区别 业务场景 UML类图 源码解析 StringBuilder 源码分析 SringBuffer 开源框架 spring中BeanD
  • ZeroTierr的moon云服务器搭建和使用

    搭建moon 本质上是在云服务器上建立一个moon服务器 也加入zerotier的Network ID 服务器记录请求路径来做类似于DNS的解析 让设备之间p2p直连 问题是ZeroTier One本身的服务器都在国外访问速度很慢 可以通过
  • 【AI实战】BERT 文本分类模型自动化部署之 dockerfile

    AI实战 BERT 文本分类模型自动化部署之 dockerfile BERT BERT 文本分类模型 基于中文预训练bert的文本分类模型 针对多分类模型的loss函数 样本不均衡时 多标签分类时 dockerfile 编写 dockerf
  • 淘宝logo设计遇到的坑

    看了抖音上一些大神设计的logo 被惊艳到了 新开了一个公众号 所以也想设计一个有创意的logo 想到就去做 开始吧 我就忘记了 付款前 应该先搜一下TB logo设计的坑 先说我的教训吧 教训 终于明白 这些店是怎么赚钱的了 只要你付款了
  • 切换摄像头操作(前置、后置)

    一 默认进入页面后直接加载并调用摄像头 调用摄像头的方法 function takePhoto if navigator mediaDevices getUserMedia navigator getUserMedia navigator
  • [转]unity作品打包

    unity作品打包 每当项目完成后最重要的就是项目打包 首先打包之前要看项目内部是否有错误 以保证项目的正确 1 在unity上部找到File 文件 选项卡 并点击进入 2 点击Flie选项卡中的Build Settings选项 3 完成上
  • 为什么文学也可以解决许多问题

    文学是一种艺术形式 通过语言和叙事手法创造出各种文学作品 如小说 诗歌 戏剧等 它具有独特的力量和功能 能够解决许多问题的原因如下 情感共鸣与同理心 文学作品可以引起人们的情感共鸣和同理心 通过创造生动的角色 复杂的情节和丰富的描绘 文学作
  • 浅谈VVC(H.266)的变换模块

    转自 https zhuanlan zhihu com p 108792210 本文将分为四个部分对下一代视频编码标准Versatile Video Coding VVC 的变化模块进行介绍 第一部分简单介绍一下视频编码的发展历程以及VVC
  • surface pro 4专业版没有64位虚拟机选项的解决办法

    前言 因为surface没办法开bios的虚拟化支持 所以博主也是打电话亲自询问了微软的客服然后得出的结论 这个因为可能微软对自己产品的封锁吧 你装vmware也好 Virualbox也好 都是只有32位系统的 然后呢 也是一样的 选择代数
  • 【QT】——信号和槽

    1 信号和槽的概念 信号和槽是 Qt 特有的信息传输机制 是 Qt 设计程序的重要基础 它可以让互不干扰的 对象建立一种联系 当信号发出时 被连接的槽函数会自动被回调 这就类似观察者模式 当发生了感兴趣的事件 某一个操作就会被自动触发 1
  • 《C++ Primer》学习笔记(十四):重载运算与类型转换

    C Primer 学习笔记 十四 重载运算与类型转换 输入和输出运算符 算术和关系运算符 赋值运算符 下标运算符 递增和递减运算符 成员访问运算符 函数调用运算符 标准库定义的函数对象 可调用对象与function 当一个重载的运算是成员函
  • 做视频剪辑必须学会的几个剪辑软件,你知道哪些?

    现在短视频非常火热 身边70 以上的人或多或少都会使用手机APP快速剪辑视频 但是如果大家想要通过视频剪辑变现 或者想要自己的视频出彩 那么掌握系统的剪辑方法 剪辑软件的使用是必不可少的 今天小编就给大家分享几款我在剪辑视频中会常常用到的软
  • android 验证码短信验证码,Android​短信验证码倒计时验证的2种常用方式

    前言 本文主要介绍的是短信验证码功能 这里总结了两种常用的方式 可以直接拿来使用 看图 计时器 说明 这里的及时从10开始 是为了演示的时间不要等太长而修改的 方法如下 1 第一种方式 Timer Description 自定义Timer
  • thinkcmf5 pc切换手机

    1 在simplewind cmf common php 里找到 获取当前主题名 添加 if cmf is mobile theme config cmf mobile default theme else theme config cmf
  • java 返回function_Java8通过Function获取字段名

    摘要 Java8通过Function获取字段名 不用再硬编码 效果类似于mybatis plus的LambdaQueryWrapper 本文总共三个步骤 1 使Function获取序列化能力 2 通过SFunction获取字段名 3 建一些
  • 【Spring配置文件】Spring定时器的使用及配置

    如何在spring中配置定时任务 spring的定时任务配置分为三个步骤 1 定义任务 2 任务执行策略配置 3 启动任务 1 定义任务