【Spring配置文件】Spring定时器的使用及配置
如何在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表达式,此处是每天10点42执行 --><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、
<!-- 每天凌晨0点40触发,检索即将到期的认证学员,并自动发送邮件 -->
<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><!-- 每天凌晨0点50触发 --></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>
【Spring配置文件】Spring定时器的使用及配置相关推荐
- Spring - Spring配置文件-Spring配置数据源详解
文章目录 一般方式配置数据源 数据源(连接池)的作用 数据源开发的步骤 数据源创建演示(c3p0) 创建maven-web骨架项目 导入mysql.c3p0.druid.junit坐标 创建编写测试类 ...
- spring配置文件路径修改后web.xml配置
在web.xml中加入 <listener> <listener-class> org.springframework.web.context.ContextLoaderLis ...
- Spring idea中spring配置文件自动检查配置应用程序上下文的操作
IDEA中 Spring配置文件默认会被检查是否配置应用程序上下文 idea中默认会自动检查是否配置上下文 1.点击蓝色字体 2.点击创建新的应用程序上下文 3.点击确定就配置完成了 但是!开始不知道 ...
- spring配置文件
文章目录 1. Spring程序开发步骤 2. Spring配置文件 2.1 Bean标签基本配置 2.2 Bean标签范围配置 2.2 Bean生命周期配置 2.3 Bean实例化三种方式 2.4 ...
- spring配置xml文件_XML配置文件中的Spring配置文件
spring配置xml文件 我的上一个博客非常简单,因为它涵盖了我从Spring 3.0.x到Spring 3.1.x的轻松升级,最后我提到可以将Spring模式升级到3.1,以利用Spring的最新 ...
- Spring配置文件和Java配置
我的上一个博客介绍了Spring 3.1的配置文件,并解释了使用它们的业务案例,并演示了它们在Spring XML配置文件中的用法. 但是,似乎很多开发人员更喜欢使用Spring的基于Java的应用程 ...
- java spring配置文件路径_java - 在spring b中从命令行设置活动配置文件和配置位置...
java - 在spring b中从命令行设置活动配置文件和配置位置 我有一个春季启动应用程序. 我的应用程序中有三个配置文件 - > 开发,分期和生产. 所以我有3个文件 应用developm ...
- Spring框架学习笔记03:初探Spring——利用注解配置类取代Spring配置文件
文章目录 一.课程引入 二.利用注解配置类取代Spring配置文件 (一)打开项目[SpringDemo2021] (二)创建net.hw.spring.lesson03包 (三)移植上一讲的接口和类 ...
- Spring中,applicationContext.xml 配置文件在web.xml中的配置详解
Spring中,applicationContext.xml 配置文件在web.xml中的配置详解 2016年10月04日 15:22:26 阅读数:7936 转自http://www.cnblogs ...
- Spring配置文件使用占位符配置
Spring利用PropertyPlaceholderConfigurer占位符 1.Spring的框架中,org.springframework.beans.factory.config.Prope ...
最新文章
- Linux下进行谷歌浏览器安装
- 【设计模式】享元模式 实现 ( 实现流程 | 抽象享元类 | 具体享元类 | 享元工厂 | 用户调用 | 代码模板 )
- 列举java接口_Java接口特点列举说明
- 如何格式化电脑_移动硬盘提示格式化如何解决?数据恢复软件解决问题
- 陕西省计算机二级报名流程,计算机二级考试报名流程
- C++ 泛型编程(一):模板基础:函数模板、类模板、模板推演成函数的机制、模板实例化、模板匹配规则
- 由SQL数据库转换Redis的实例
- paip.抓取网页内容--java php python
- cx_Oracle安装教程
- 「 英雄哪里出来 」算法博客阅读指引
- 手机是如何做到精准定位的
- iOS 音乐播放器之锁屏歌词+歌词解析+锁屏效果
- 关于virtualbox无法复制粘贴的问题
- 2019最全大数据学习资源整理(值得收藏)
- Fcoin事件背后的良心与底线
- Windows10远程桌面连接提示:出现身份验证错误,要求的函数不受支持。。。
- 某喜欢研究车的80后,驾驶经验59条
- 中X集团企业数字档案室建设方案- 档案馆数字化建设实施方案
- Chef Infra 16添加了YAML配方支持
- 2021-08-14王汕8.15黄金指导】黄金,下周一黄金走势分析,外汇黄金实时策略指导