如何配置弹簧定时任务

  介绍

今天就跟大家聊聊有关如何配置弹簧定时任务,可能很多人都不太了解,为了让大家更加了解,小编给大家总结了以下内容,希望大家根据这篇文章可以有所收获。

<强>第一步强,要知道春天这个架构,很有趣很有意思。可以做到自由插拔功能模块的效果。工程项目是基于MAVEN包依赖管理的,所以把这次需要的依赖包引用列出来:

& lt; !——定时器依赖开始——比;   & lt; dependency>   & lt; groupId> org.springframework   & lt; artifactId> spring-context-support   & lt; version> 4.0.2.RELEASE   & lt;/dependency>            & lt; dependency>   & lt; groupId> org.quartz-scheduler   & lt; artifactId> quartz   & lt; version> 2.2.1   & lt;/dependency>   & lt; !——定时器依赖结束,在

当然,这是要跟对应的春天的版本是要匹配的。我们这里的工程是4.0.2。前一个包spring-context-support,主要的作用是作为弹簧与石英的沟通管理的部件,如果注释掉就会报这样的错误

如何配置弹簧定时任务

,在MAVEN配置完所需要添加的包之后(其他的包,这里暂时不扩展开说了,本文只讨论在完整春天工程项目下的配置),我们就可以开始动手给这个项目添加,定时任务的功能模块了。

第二步,从网络的项目的起源,网络。xml中改动做起。由于原本的项目春天的配置文件是Spring-mvc.xml,我这里就把定时任务的配置文件改成了春天到来的时候。xml。这样就可以通过同一个扫描的配置在启动的时候去读取了。具体的代码如下:

 & lt; context-param>
  & lt; param-name> contextConfigLocation
  & lt; param-value>类路径:春天- * .xml
  & lt;/context-param> 

然后给大家看一下我的工程结构:

如何配置弹簧定时任务

通过这样的配置,项目就会知道怎么去调用了。实现了这一步接下来我们就可以继续往下走了,

<强>第三步强,就是要完成spring-timer.xml这个定时任务的核心配置了。在这个文件配置中,我们主要是完成三件事情:

,1 .配置启动的设置,关于懒加载(简单说一下,比如把某个变量初始化为null,也是一种懒加载,即在服务启动之后,只有在实际被调用的时候才会实例化,否则是不会在内存中存在的,只是逻辑上的。可以省空间,但是也可能会导致,问题延迟很久才会被发现,此处不再详细解说),以及触发器的配置;

,石英- 2. - 2. x的配置,包含定时任务触发之后要调用的工作的名字,以及玉米表达式(即定时表达式,控制程序在何时重复执行的原因,本次在会在后续补充关于cron表达式的内容);

,3.配置工作的内容和工作对应的具体的类。

好了逻辑流程解说完毕,上代码:

& lt;及# 63;xml version=?.0”;编码=癠TF-8", # 63;比;   http://www.springframework.org/schema/beans" & lt;豆类xmlns=?   xmlns: xsi=癶ttp://www.w3.org/2001/XMLSchema-instance"   xmlns: p=癶ttp://www.springframework.org/schema/p"   xsi: schemaLocation=? http://www.springframework.org/schema/beans   ,http://www.springframework.org/schema/beans/spring-beans-3.0.xsd"的在      & lt; !——启动触发器的配置开始——比;   & lt; bean name=皊tartQuertz"lazy-init=癴alse"自动装配=皀o"   类=皁rg.springframework.scheduling.quartz.SchedulerFactoryBean"比;   & lt;属性名=皌riggers"祝辞   & lt; list>   & lt;裁判bean=癿yJobTrigger"/比;   & lt;/list>   & lt;/property>   & lt;/bean>   & lt; !——启动触发器的配置结束——比;      & lt; !——调度的配置开始——比;   & lt; !   石英- 1.8以前的配置   & lt; bean id=癿yJobTrigger"   类=皁rg.springframework.scheduling.quartz.CronTriggerBean"比;   & lt;属性名=癹obDetail"祝辞   & lt;裁判bean=癿yJobDetail"/比;   & lt;/property>   & lt;属性名=癱ronExpression"祝辞   & lt; value> 0/1 * * * *和# 63;& lt;/value>   & lt;/property>   & lt;/bean>   ——比;   & lt; !——quartz-2。x的配置——比;   & lt; bean id=癿yJobTrigger"   类=皁rg.springframework.scheduling.quartz.CronTriggerFactoryBean"比;   & lt;属性名=癹obDetail"祝辞   & lt;裁判bean=癿yJobDetail"/比;   & lt;/property>   & lt;属性名=癱ronExpression"祝辞      & lt; value> 0/10 * * * *和# 63;& lt;/value>   & lt; !- & lt; value> 1 52 * * *和# 63;& lt;/value>——比;   & lt;/property>   & lt;/bean>   & lt; !——调度的配置结束——比;      & lt; !——工作的配置开始——比;   & lt; bean id=癿yJobDetail"   类=皁rg.springframework.scheduling.quartz.MethodInvokingJobDetailFactoryBean"比;   & lt;属性名=皌argetObject"祝辞   & lt;裁判bean=癿yJob"/比;   & lt;/property>   & lt;属性名=皌argetMethod"祝辞   & lt; value> work

如何配置弹簧定时任务