`

Spring中配置定时器

阅读更多

在web应用中,可以通过spring的配置,实现定时器的作用

具体配置的代码如下:(如配置在applicationContext-services.xml中

Xml代码 复制代码
  1. <bean id="buildHtml" parent="txProxyTemplate">      
  2.        <property name="target">      
  3.             <bean   class="com.njusc.gathd.gxh.templet.HtmlBuilder">      
  4.                   <property name="gxhUserService" ref="gxhUserService"></property>      
  5.             </bean>      
  6.        </property>      
  7.     </bean>      
  8.       
  9.     <bean id="methodInvokingJobDetail"      
  10.         class="org.springframework.scheduling.quartz.MethodInvokingJobDetailFactoryBean">      
  11.         <property name="targetObject">      
  12.             <ref bean="buildHtml" />      
  13.         </property>      
  14.         <property name="targetMethod">      
  15.             <value>buildSendHtml</value>      
  16.         </property>      
  17.     </bean>      
  18.       
  19.     <bean id="cronTrigger"      
  20.         class="org.springframework.scheduling.quartz.CronTriggerBean">      
  21.         <property name="jobDetail">      
  22.             <ref bean="methodInvokingJobDetail" />      
  23.         </property>      
  24.         <property name="cronExpression">      
  25.             <value>0 26 16 * * ?</value>      
  26.         </property>      
  27.     </bean>      
  28.       
  29.     <bean        
  30.         class="org.springframework.scheduling.quartz.SchedulerFactoryBean">      
  31.         <property name="triggers">      
  32.             <list>      
  33.                 <ref local="cronTrigger" />      
  34.             </list>      
  35.         </property>      
  36.     </bean>  
<bean id="buildHtml" parent="txProxyTemplate">   
	   <property name="target">   
	        <bean   class="com.njusc.gathd.gxh.templet.HtmlBuilder">   
	              <property name="gxhUserService" ref="gxhUserService"></property>   
	        </bean>   
	   </property>   
	</bean>   
   
	<bean id="methodInvokingJobDetail"   
	    class="org.springframework.scheduling.quartz.MethodInvokingJobDetailFactoryBean">   
	    <property name="targetObject">   
	        <ref bean="buildHtml" />   
	    </property>   
	    <property name="targetMethod">   
	        <value>buildSendHtml</value>   
	    </property>   
	</bean>   
   
	<bean id="cronTrigger"   
	    class="org.springframework.scheduling.quartz.CronTriggerBean">   
	    <property name="jobDetail">   
	        <ref bean="methodInvokingJobDetail" />   
	    </property>   
	    <property name="cronExpression">   
	        <value>0 26 16 * * ?</value>   
	    </property>   
	</bean>   
   
	<bean     
	    class="org.springframework.scheduling.quartz.SchedulerFactoryBean">   
	    <property name="triggers">   
	        <list>   
	            <ref local="cronTrigger" />   
	        </list>   
	    </property>   
	</bean>
 

配置说明:

<bean id="buildHtml"  parent="txProxyTemplate">  中的buildHtml 是定时器具体操作的实现类,该类中可以实现具体要操作的方法。

配置中的 buildSendHtml buildHtml类中的一个方法,该方法将按照指定的时间被执行。

时间的配置如下:

              <value>0 26 16 * * ?value> 

时间大小由小到大排列,从秒开始,顺序为 秒,分,时,天,月,年    *为任意 ?为无限制。由此上面所配置的内容就是,在每天的16点26分启动buildSendHtml() 方法

具体时间设定可参考

"0/10 * * * * ?" 每10秒触发

"0 0 12 * * ?" 每天中午12点触发
"0 15 10 ? * *" 每天上午10:15触发
"0 15 10 * * ?" 每天上午10:15触发
"0 15 10 * * ? *" 每天上午10:15触发
"0 15 10 * * ? 2005" 2005年的每天上午10:15触发
"0 * 14 * * ?" 在每天下午2点到下午2:59期间的每1分钟触发
"0 0/5 14 * * ?" 在每天下午2点到下午2:55期间的每5分钟触发
"0 0/5 14,18 * * ?" 在每天下午2点到2:55期间和下午6点到6:55期间的每5分钟触发
"0 0-5 14 * * ?" 在每天下午2点到下午2:05期间的每1分钟触发
"0 10,44 14 ? 3 WED" 每年三月的星期三的下午2:10和2:44触发
"0 15 10 ? * MON-FRI" 周一至周五的上午10:15触发
"0 15 10 15 * ?" 每月15日上午10:15触发
"0 15 10 L * ?" 每月最后一日的上午10:15触发
"0 15 10 ? * 6L" 每月的最后一个星期五上午10:15触发
"0 15 10 ? * 6L 2002-2005" 2002年至2005年的每月的最后一个星期五上午10:15触发
"0 15 10 ? * 6#3" 每月的第三个星期五上午10:15触发

关于cronExpression的介绍: 

  
字段     允许值     允许的特殊字符  
秒     0-59     , - * /  
分     0-59     , - * /  
小时     0-23     , - * /  
日期     1-31     , - * ? / L W C  
月份     1-12 或者 JAN-DEC     , - * /  
星期     1-7 或者 SUN-SAT     , - * ? / L C #  
年(可选)     留空, 1970-2099     , - * / 

表达式 
    意义  
"0 0 12 * * ?"     每天中午12点触发  
"0 15 10 ? * *"     每天上午10:15触发  
"0 15 10 * * ?"     每天上午10:15触发  
"0 15 10 * * ? *"     每天上午10:15触发  
"0 15 10 * * ? 2005"     2005年的每天上午10:15触发  
"0 * 14 * * ?"     在每天下午2点到下午2:59期间的每1分钟触发  
"0 0/5 14 * * ?"     在每天下午2点到下午2:55期间的每5分钟触发  
"0 0/5 14,18 * * ?"     在每天下午2点到2:55期间和下午6点到6:55期间的每5分钟触发  
"0 0-5 14 * * ?"     在每天下午2点到下午2:05期间的每1分钟触发  
"0 10,44 14 ? 3 WED"     每年三月的星期三的下午2:10和2:44触发  
"0 15 10 ? * MON-FRI"     周一至周五的上午10:15触发  
"0 15 10 15 * ?"     每月15日上午10:15触发  
"0 15 10 L * ?"     每月最后一日的上午10:15触发  
"0 15 10 ? * 6L"     每月的最后一个星期五上午10:15触发   
"0 15 10 ? * 6L 2002-2005"     2002年至2005年的每月的最后一个星期五上午10:15触发  
"0 15 10 ? * 6#3"     每月的第三个星期五上午10:15触发  
每天早上6点 

0 6 * * *  

每两个小时 

0 */2 * * * 
晚上11点到早上8点之间每两个小时,早上八点 

0 23-7/2,8 * * * 

每个月的4号和每个礼拜的礼拜一到礼拜三的早上11点 

0 11 4 * 1-3 
1月1日早上4点 

0 4 1 1 * 

 

注意: 实现上述功能需加包

 

分享到:
评论

相关推荐

    Spring中配置定时器详解.doc

    本文将深入解析Spring中配置定时器的方法,帮助读者理解和掌握如何在Spring环境中设置定时任务。 ### 一、Spring定时器基本概念 Spring框架提供了多种方式来实现定时任务,包括基于`java.util.Timer`的`...

    spring中如何配置定时器.doc

    在Spring框架中,配置定时器是为了实现周期性或定时的任务调度,这对于执行如数据清理、报告生成等后台操作非常有用。在提供的文档中,我们看到的是使用Spring的Timer模块来配置定时任务的方法。下面将详细介绍如何...

    Spring定时器配置详解(附demo)

    本篇将详细介绍如何在Spring中配置定时器,并通过一个实际的Demo来加深理解。 一、Spring定时任务概述 Spring提供了两种主要的定时任务实现方式:`TaskScheduler`和`TaskExecutor`,以及基于Quartz的`Spring...

    Spring中的Quartz配置-Spring-定时器-java定时器.doc

    Spring 中的 Quartz 配置-Spring 定时器-java 定时器 在 Spring 框架中,Quartz 是一个非常流行的开源作业调度器,可以实现任务的定时执行。在本篇文章中,我们将讨论如何在 Spring 中配置 Quartz,以实现 Java ...

    spring定时器 spring定时器

    Spring定时器,也被称为Spring Boot的定时任务,是Spring框架中的一个强大功能,它允许开发者在应用程序中安排周期性任务的执行。这个功能基于Java的`java.util.concurrent.ScheduledExecutorService`,并通过Spring...

    定时器的配置文件(两种方式:springmvc自带定时,Quartz与spring结合的定时)

    在Spring配置文件(如`applicationContext.xml`)中配置Quartz的SchedulerFactoryBean。 ```xml &lt;bean id="scheduler" class="org.springframework.scheduling.quartz.SchedulerFactoryBean"&gt; ...

    spring和java定时器

    Spring框架和Java内置的定时器提供了两种不同的方式来实现这样的功能。 首先,我们来看Spring定时器。Spring使用的是Quartz库来实现定时任务管理。在给出的例子中,可以看到配置文件中定义了几个关键的bean: 1. `...

    spring定时器配置

    本篇将详细讲解如何在Spring中配置定时器,以及如何设置时间表达式。 首先,Spring的定时任务是通过`Spring Task`模块实现的,它提供了两种主要的调度器:`ThreadPoolTaskScheduler`和`SimpleTaskScheduler`。通常...

    spring定时器的包和配置文件

    在标题"spring定时器的包和配置文件"中,我们讨论的核心是Spring如何配置和使用定时器来自动化执行特定的任务。 首先,让我们了解Spring定时任务的基本概念。Spring定时器基于Java的`java.util.Timer`和`java.util....

    spring定时器时间配置

    ### Spring 定时器时间配置详解 在Spring框架中,定时任务是非常常见且重要的功能之一。通过使用`org.springframework.scheduling.quartz.CronTriggerBean`类,开发人员能够灵活地控制任务执行的时间点。本文旨在...

    Spring 定时器.txt

    在 Spring 中配置定时器,可以通过 `&lt;bean&gt;` 标签来定义 `ScheduledTimerTask`,并设置其周期等属性。 ```xml &lt;bean id="scheduleReportTask" class="org.springframework.scheduling.timer.ScheduledTimerTask"&gt;...

    采用XML配置的方式实现Spring定时器的功能.zip

    本工程用于研究如何在Spring框架中采用XML配置的方式实现Spring定时器的功能 本工程编码方式:UTF-8 参考博客:http://blog.csdn.net/gaohuanjie/article/details/43563245

    spring 配置定时器、定时调度

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

    Spring定时器配置详解

    CronTriggerBean 是 Spring 定时器中的核心组件,它负责触发任务的执行。通过设置 CronTriggerBean 的 cronExpression 属性,可以精确地控制任务的运行时间。 CronTriggerBean 的 cronExpression 属性是一个字符串...

    spring的定时器设置

    在本主题"spring的定时器设置"中,我们将深入探讨Spring如何配置定时任务,主要关注2.x和3.x版本的区别。 一、Spring 2.x 定时任务 在Spring 2.x中,定时任务主要是通过`org.springframework.scheduling.timer`包...

    java 定时器 spring 定时器

    本文将深入探讨这两个概念,以及如何在Spring框架中配置和使用定时器。 首先,Java定时器(java.util.Timer)是Java标准库提供的一种基础定时服务。它允许开发者安排一次性或重复的任务,这些任务将以单独的线程...

    spring配置定时器

    本文将基于给定的文件信息“spring配置定时器”,详细阐述如何利用Spring框架配置一个简单且高效的定时任务。 ### 一、Spring定时器概述 #### 1.1 定时器简介 Spring框架提供了多种实现定时任务的方式,包括但不...

Global site tag (gtag.js) - Google Analytics