`

Spring里的定时调度配置

阅读更多
applicationContext.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" 
xsi:schemaLocation="http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans-2.0.xsd"> 
 
 
<bean id="mesBean" class="cn.xg.spring.Message" abstract="false" 
   lazy-init="default" autowire="default" dependency-check="default"> 
   <property name="title"> 
    <value>标题</value> 
   </property> 
</bean> 
 
<!-- spring定时器 --> 
<!-- 方法一 --> 
<!-- 第一步 声明一个定时任务,该类extends java.util.TimerTask --> 
<bean id="clock" class="cn.xg.spring.Clock"></bean> 
 
<!-- 第二步 调度定时任务,把声明的定时任务注入进来,并设置定时参数 --> 
<bean id="scheduledClock" class="org.springframework.scheduling.timer.ScheduledTimerTask"> 
   <property name="timerTask"> 
    <ref bean="clock"></ref> 
   </property> 
   <property name="period"> 
    <value>5000</value> 
    <!--这里是每隔多长时间就进行一次计时任务,单位ms--> 
   </property> 
   <property name="delay"> 
    <value>5000</value> 
    <!--这里是服务启动后延时多少时间,开始计时任务,单位ms--> 
   </property> 
</bean> 
 
<!-- 启动定时任务,如果有多个定时任务,则重复步骤一,二,然后把第二步设置的beany放在下面的list列表中.此方法不能精确几点运行定时任务 --> 
<bean class="org.springframework.scheduling.timer.TimerFactoryBean"> 
   <property name="scheduledTimerTasks"> 
    <list> 
     <ref bean="scheduledClock"></ref> 
    </list> 
   </property> 
</bean> 
 
<!-- 方法二 --> 
<!-- 第一步 声明一个定时任务,注意不是直接声明,而是声明一个JobDetailBean,通过jobClass属性设置一个定时对象 --> 
<bean id="quartzClock" class="org.springframework.scheduling.quartz.JobDetailBean"> 
   <property name="jobClass"> 
    <value>cn.xg.spring.QuartzClock</value> 
   </property> 
</bean> 
 
<!-- 第二步 调度定时任务 --> 
<!--这种配置与第一种方法效果一样  
   <bean id="quartzClockTask" class="org.springframework.scheduling.quartz.SimpleTriggerBean"> 
    <property name="jobDetail"> 
     <ref bean="quartzClock"/> 
    </property> 
    <property name="startDelay"> 
     <value>6000</value> 
      这里是服务启动后延时多少时间,开始计时任务,单位ms 
    </property> 
    <property name="repeatInterval"> 
     <value>6000</value> 
        这里是每隔多长时间就进行一次计时任务,单位ms 
    </property> 
   </bean> 
--> 
<!-- 这种配置可以精确几点执行定时任务 --> 
<bean id="cronQuartzClock" class="org.springframework.scheduling.quartz.CronTriggerBean"> 
   <property name="jobDetail"> 
    <ref bean="quartzClock"></ref> 
   </property> 
   <property name="cronExpression"> 
    <value>0 52 22 * * ?</value><!--定时在任何月份任何日期(不管星期几)的22点52分0秒 --> 
     <!-- 一个cron表达式有到少6个(也可能是7个)由空格分隔的时间元素.从左到右,这些元素的定义如下: 
      1.秒(0-59) 
      2.分钟(0-59) 
      3.小时(0-23) 
      4.月份中的是期(1-31) 
      5.月份(1-12或SUN-DEC) 
      6.星期中的日期(1-7或SUN-SAT) 
      7.年份(1970-2099)  
     例子: 
      0 0 10,14,16 * * ? 每天上午10点,下午2点和下午4点 
      0 0,15,30,45 * 1-10 * ? 每月前10天每隔15分钟 
      30 0 0 1 1 ? 2012 在2012年1月1日午夜过30秒时 
      0 0 8-5 ? * MON-FRI 每个工作日的工作时间 
      
      - 区间 
      * 通配符 
      ? 你不想设置那个字段 
     --> 
   </property> 
   
</bean> 
<!--第三步 启动定时任务,注意这里的ref bean --> 
<bean class="org.springframework.scheduling.quartz.SchedulerFactoryBean"> 
   <property name="triggers"> 
    <list> 
     <ref bean="cronQuartzClock"></ref> 
    </list> 
   </property> 
</bean> 
</beans> 
分享到:
评论

相关推荐

    spring动态定时调度任务

    spring动态调度任务,根据用户选择时间进行定时执行任务相关文档配置

    20190821_Spring任务定时(任务调度).md

    Spring 定时器 任务调度 怎么在项目中写定时任务 怎么配置一些环境

    spring 实现定时调度、定时器

    用spring配置实现后台隔段时间执行一次自己想要执行的代码、高级货

    Spring的定时调度--Quartz

    NULL 博文链接:https://taoistwar.iteye.com/blog/401165

    spring 配置定时器、定时调度

    技术:spring 功能:在java后台每隔一段时间执行一次自己想要的代码,定时器会随web启动而启动. 这是一个web工程、把工程解压后放到eclipse或myeclipse里运行就可以了、在控制台会每隔5秒输出一句话、时间是可以设置...

    Spring 定时任务配置范例

    本文档详细介绍了Spring定时任务配置的两种方式。一种方式是使用Spring提供的 MethodInvokingJobDetailFactoryBean 代理类,Quartz通过该代理类直接调度任务类的某个函数,另外一种方式是任务类继承并实现Quartz接口...

    Quartz + spring简单配置多个任务调度

    Quartz + spring简单配置多个任务调度 spring配置文件 简单配置

    Spring3.0作业调度

    Spring3.0作业调度Spring3.0内置的定时调度的功能可以通过注解及XML配置来实现。Sping3Demo项目的com.chinadim.demo.spring.schedule包路径下的两个示例程序尽可能简洁地演示了怎样使用这两种方式。 接下来,我们来...

    spring boot @scheduled定时任务配置

    spring boot @scheduled注解 cron 表达式实现计划任务调度。

    Spring Quartz定时作业

    Spring Quartz定时作业,包含了任务,触发器,调度的配置文件,启动tomcat就可以运行,你懂得

    (动态多)定时任务源码自动运行调度后台执行

    5、C#定时调度任务服务(Quartz.net做为任务调度核心,利用Log4Net做为日志输出,C#完成WINDOWS服务在后台定时执行任务) 6、android 后台定时执行任务 示例源码 7、C# Quatrz定时任务job实现 8、Quartz.NET定时任务...

    分布式调度任务架构elastic job的spring-boot-starter自动装载模块

    1.每个复杂的项目都存在大量重要的定时调度任务,引入一个好用的分布式调度任务框架是 非常重要的。elastic job是当当网开源的基于quartz的分布式调度框架,通过zookeeper实 现分布式协调,加上支持分片、日志...

    spring定时任务的两种实现

    内含配置文件与代码示例 1.使用Quartz,这是一个功能比较强大的的调度器,可以让你的程序在指定时间执行,也可以按照某一个频度执行. 2.Spring3.0以后自带的task,可以将它看成一个轻量级的Quartz,而且使用起来比...

    完美解决多应用服务器负载均衡环境下spring quartz同一定时任务重复执行问题

    NULL 博文链接:https://medbricom.iteye.com/blog/1782765

    spring+quartz 动态任务方案

    虽然可以通过属性文件(在属性文件中可以指定 JDBC 事务的数据源、全局作业和/或触发器侦听器、插件、线程池,以及更多)配置 Quartz,但它根本没有与应用程序服务器的上下文或引用集成在一起。结果就是作业不能访问...

    spring_quartz_定时任务

    进行定时任务的执行,作业调度,定时器。有jar包,和配置笔记

    任务调度开源框架Quartz动态添加、修改和删除定时任务

    Quartz 是个开源的作业调度框架,为在 Java 应用程序中进行作业调度提供了简单却强大的机制。Quartz框架包含了调度器监听、...并且还能和Spring配置整合使用。Quartz在功能上远远超越了JDK自带的Timer,很好很强大!

    Spring-Reference_zh_CN(Spring中文参考手册)

    2.4.1. 在XML里更为简单的声明性事务配置 2.4.2. JPA 2.4.3. 异步的JMS 2.4.4. JDBC 2.5. Web层 2.5.1. Spring MVC的表单标签库 2.5.2. Spring MVC合理的默认值 2.5.3. Portlet 框架 2.6. 其他特性 2.6.1. 动态语言...

    Spring 2.0 开发参考手册

    2.4.1. 在XML里更为简单的声明性事务配置 2.4.2. JPA 2.4.3. 异步的JMS 2.4.4. JDBC 2.5. Web层 2.5.1. Spring MVC的表单标签库 2.5.2. Spring MVC合理的默认值 2.5.3. Portlet 框架 2.6. 其他特性 2.6.1. ...

    Spring的 Scheduled任务调度.docx

    说明:@Scheduled 注解用于标注这个方法是一个定时任务的方法,有多种配置可选。cron支持cron表达式,指定任务在特定时间执行;fixedRate以特定频率执行任务;fixedRateString以string的形式配置执行频率。

Global site tag (gtag.js) - Google Analytics