在web应用中,可以通过spring的配置,实现定时器的作用
具体配置的代码如下:(如配置在applicationContext-services.xml中)
- <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">
<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中配置定时器的方法,帮助读者理解和掌握如何在Spring环境中设置定时任务。 ### 一、Spring定时器基本概念 Spring框架提供了多种方式来实现定时任务,包括基于`java.util.Timer`的`...
在Spring框架中,配置定时器是为了实现周期性或定时的任务调度,这对于执行如数据清理、报告生成等后台操作非常有用。在提供的文档中,我们看到的是使用Spring的Timer模块来配置定时任务的方法。下面将详细介绍如何...
本篇将详细介绍如何在Spring中配置定时器,并通过一个实际的Demo来加深理解。 一、Spring定时任务概述 Spring提供了两种主要的定时任务实现方式:`TaskScheduler`和`TaskExecutor`,以及基于Quartz的`Spring...
Spring 中的 Quartz 配置-Spring 定时器-java 定时器 在 Spring 框架中,Quartz 是一个非常流行的开源作业调度器,可以实现任务的定时执行。在本篇文章中,我们将讨论如何在 Spring 中配置 Quartz,以实现 Java ...
Spring定时器,也被称为Spring Boot的定时任务,是Spring框架中的一个强大功能,它允许开发者在应用程序中安排周期性任务的执行。这个功能基于Java的`java.util.concurrent.ScheduledExecutorService`,并通过Spring...
在Spring配置文件(如`applicationContext.xml`)中配置Quartz的SchedulerFactoryBean。 ```xml <bean id="scheduler" class="org.springframework.scheduling.quartz.SchedulerFactoryBean"> ...
Spring框架和Java内置的定时器提供了两种不同的方式来实现这样的功能。 首先,我们来看Spring定时器。Spring使用的是Quartz库来实现定时任务管理。在给出的例子中,可以看到配置文件中定义了几个关键的bean: 1. `...
本篇将详细讲解如何在Spring中配置定时器,以及如何设置时间表达式。 首先,Spring的定时任务是通过`Spring Task`模块实现的,它提供了两种主要的调度器:`ThreadPoolTaskScheduler`和`SimpleTaskScheduler`。通常...
在标题"spring定时器的包和配置文件"中,我们讨论的核心是Spring如何配置和使用定时器来自动化执行特定的任务。 首先,让我们了解Spring定时任务的基本概念。Spring定时器基于Java的`java.util.Timer`和`java.util....
### Spring 定时器时间配置详解 在Spring框架中,定时任务是非常常见且重要的功能之一。通过使用`org.springframework.scheduling.quartz.CronTriggerBean`类,开发人员能够灵活地控制任务执行的时间点。本文旨在...
在 Spring 中配置定时器,可以通过 `<bean>` 标签来定义 `ScheduledTimerTask`,并设置其周期等属性。 ```xml <bean id="scheduleReportTask" class="org.springframework.scheduling.timer.ScheduledTimerTask">...
本工程用于研究如何在Spring框架中采用XML配置的方式实现Spring定时器的功能 本工程编码方式:UTF-8 参考博客:http://blog.csdn.net/gaohuanjie/article/details/43563245
技术:spring 功能:在java后台每隔一段时间执行一次自己想要的代码,定时器会随web启动而启动. 这是一个web工程、把工程解压后放到eclipse或myeclipse里运行就可以了、在控制台会每隔5秒输出一句话、时间是可以设置...
CronTriggerBean 是 Spring 定时器中的核心组件,它负责触发任务的执行。通过设置 CronTriggerBean 的 cronExpression 属性,可以精确地控制任务的运行时间。 CronTriggerBean 的 cronExpression 属性是一个字符串...
在本主题"spring的定时器设置"中,我们将深入探讨Spring如何配置定时任务,主要关注2.x和3.x版本的区别。 一、Spring 2.x 定时任务 在Spring 2.x中,定时任务主要是通过`org.springframework.scheduling.timer`包...
本文将深入探讨这两个概念,以及如何在Spring框架中配置和使用定时器。 首先,Java定时器(java.util.Timer)是Java标准库提供的一种基础定时服务。它允许开发者安排一次性或重复的任务,这些任务将以单独的线程...
本文将基于给定的文件信息“spring配置定时器”,详细阐述如何利用Spring框架配置一个简单且高效的定时任务。 ### 一、Spring定时器概述 #### 1.1 定时器简介 Spring框架提供了多种实现定时任务的方式,包括但不...