<!-- ****************** spring定时任务 开始 ****************** -->
<bean id="TaskAuto" class="cn.com.opendata.util.timer.TaskAuto">
<property name="hastenManager">
<ref bean="HqjcHasten_Poll"/>
</property>
<property name="depaUserManager">
<ref bean="HqjcDepaUsers_Poll"/>
</property>
</bean>
<!-- 月报 -->
<bean id="yueBaoDetail"
class="org.springframework.scheduling.quartz.MethodInvokingJobDetailFactoryBean">
<property name="targetObject">
<ref bean="TaskAuto" />
</property>
<property name="targetMethod">
<value>yueBao</value>
</property>
</bean>
<bean id="yueBaoTrigger"
class="org.springframework.scheduling.quartz.CronTriggerBean">
<property name="jobDetail">
<ref bean="yueBaoDetail"/>
</property>
<property name="cronExpression">
<!-- 每个月15日晚23点整 -->
<value>0 0 23 15 * ?</value>
<!-- <value>0/10 * * * * ?</value>-->
</property>
</bean>
<!-- 季报 -->
<bean id="jiBaoDetail"
class="org.springframework.scheduling.quartz.MethodInvokingJobDetailFactoryBean">
<property name="targetObject">
<ref bean="TaskAuto" />
</property>
<property name="targetMethod">
<value>jiBao</value>
</property>
</bean>
<bean id="jiBaoTrigger"
class="org.springframework.scheduling.quartz.CronTriggerBean">
<property name="jobDetail">
<ref bean="jiBaoDetail"/>
</property>
<property name="cronExpression">
<!-- 每年4月15日起每隔3个月晚23点 -->
<value>0 0 23 15 4/3 ?</value>
</property>
</bean>
<!-- 春节 -->
<bean id="chunJieDetail"
class="org.springframework.scheduling.quartz.MethodInvokingJobDetailFactoryBean">
<property name="targetObject">
<ref bean="TaskAuto" />
</property>
<property name="targetMethod">
<value>chunJie</value>
</property>
</bean>
<bean id="chunJieTrigger"
class="org.springframework.scheduling.quartz.CronTriggerBean">
<property name="jobDetail">
<ref bean="chunJieDetail"/>
</property>
<property name="cronExpression">
<!-- 每年3月份最后一天晚23时 -->
<value>0 0 23 L 3 ?</value>
</property>
</bean>
<!-- 十一 -->
<bean id="shiYiDetail"
class="org.springframework.scheduling.quartz.MethodInvokingJobDetailFactoryBean">
<property name="targetObject">
<ref bean="TaskAuto" />
</property>
<property name="targetMethod">
<value>shiYi</value>
</property>
</bean>
<bean id="shiYiTrigger"
class="org.springframework.scheduling.quartz.CronTriggerBean">
<property name="jobDetail">
<ref bean="shiYiDetail"/>
</property>
<property name="cronExpression">
<!-- 每年10月最后一天晚23时 -->
<value>0 0 23 L 10 ?</value>
</property>
</bean>
<!-- 任务列表 -->
<bean
class="org.springframework.scheduling.quartz.SchedulerFactoryBean">
<property name="triggers">
<list>
<ref local="yueBaoTrigger" /><!-- 月报 -->
<ref local="jiBaoTrigger"/><!-- 季报 -->
<!-- <ref local="chunJieTrigger"/> 春节 -->
<!-- <ref local="shiYiTrigger"/> 十一 -->
</list>
</property>
</bean>
<!-- spring定时任务 结束 -->
分享到:
相关推荐
当我们遇到Spring定时器执行两次或者更多次的问题时,这通常是由于配置不当或者多线程并发导致的。下面将详细介绍如何使用Spring集成Quartz,以及解决定时任务重复执行的问题。 首先,让我们了解Spring如何配置...
在该配置类中,你可以定义一个或多个带有`@Scheduled`注解的方法,该注解可以指定任务的执行频率、延迟、 cron 表达式等。 例如: ```java @Configuration @EnableScheduling public class ScheduledConfig { @...
`@Scheduled`注解可以设置多个参数,如`cron`用于指定cron表达式,`fixedDelay`或`fixedRate`用于设置间隔时间。 例如,以下是一个每隔5秒执行一次的简单定时任务: ```java import org.springframework.scheduling...
`@Aspect`注解用于定义一个切面,其中可以包含多个通知方法。`@Before`、`@After`、`@AfterReturning`、`@AfterThrowing`和`@Around`分别表示前置通知、后置通知、返回后通知、异常后通知和环绕通知,这些注解标记的...
标题中的“spring定时器启动两次原因及解决”指的是在Spring框架中使用了定时任务功能,如Spring Boot的`@Scheduled`注解或者Spring Task模块,但遇到了定时任务被触发执行了两次的问题。这种情况可能是由于配置不当...
以上内容详细介绍了Spring定时器的相关知识点,包括其基本概念、不同类型的定时器以及实际应用中的配置和实现方法。通过理解和掌握这些知识,开发者可以更高效地利用Spring框架来实现复杂的定时任务功能。
本文旨在深入解析Spring定时器的时间配置规则,并通过具体的代码示例进行演示。 #### Cron表达式的构成 Cron表达式由六个或七个空格分隔的时间元素组成,这些元素分别代表: 1. **秒** (0–59) 2. **分钟** (0–59...
Spring定时器Quartz是Java应用中广泛使用的任务调度框架,它允许开发者定义并执行复杂的定时任务。这篇博客可能探讨了如何在Spring框架中集成Quartz,以实现灵活、可扩展的任务调度。 Quartz是一个开源的作业调度...
通过这种方式,你可以根据需要创建多个Job和Trigger,灵活地控制任务的执行频率和策略。Spring的Quartz定时器提供了一种强大且灵活的方式来管理和执行定时任务,适合在各种复杂的应用场景中使用。 在压缩包文件`...
在某些场景下,定时任务可能需要执行多线程任务。比如,定时检查数据库中的待处理任务,并使用多线程并行处理这些任务。此时,可以在定时任务中调用标记了`@Async`的方法,实现定时任务和多线程任务的完美结合。 ...
在上述例子中,`ThreadPoolTaskScheduler`是一个线程池任务调度器,它可以并行执行多个任务。`scheduleAtFixedRate()`方法用于设置任务的初始延迟和执行间隔。 总结: 在Java中,获取当前时间可以通过`Date`、`...
这个简单应用展示了Spring定时器的基本使用方式,但实际项目中可能需要处理更多复杂情况,如错误处理、并发控制、任务间的依赖等。Spring定时器提供了一套完整的解决方案,能够满足各种定时任务的需求,使得开发者...
本篇将详细介绍如何在Spring中配置定时器,并通过一个实际的Demo来加深理解。 一、Spring定时任务概述 Spring提供了两种主要的定时任务实现方式:`TaskScheduler`和`TaskExecutor`,以及基于Quartz的`Spring...
### Spring2.5定时器任务实现机制与配置详解 #### 一、Spring2.5定时器任务概述 在Spring框架2.5版本中,提供了强大的定时任务管理功能,支持多种方式来实现定时任务的调度与执行。这为开发人员提供了一个灵活且...
- `fixedDelay`: 定义一个任务执行完成后,下一次执行前的等待时间。 - `cron`表达式:允许使用CRON表达式定义复杂的调度规则,如每天的某个时刻执行。 总结,Spring定时任务框架提供了一套完整的解决方案,能够...
这个“spring定时器demo”是一个完整的工作示例,涵盖了从配置到实现的所有步骤,确保了任务能够准确无误地定时执行。 首先,我们要了解Spring定时任务的基础概念。Spring Task是Spring框架的一个扩展,它提供了...
然而,`Timer` 类存在一些限制,比如它不支持并发任务执行,如果一个任务运行时间过长,可能会阻塞其他任务的执行。此外,`Timer` 在遇到异常时可能无法正确取消任务。 ### 2. Quartz Scheduler Quartz 是一个功能...
“,” 用于列举多个离散值;“/” 用于指定步长。 #### 实战案例解析 为了更好地理解Cron表达式的实际应用,下面通过几个具体案例来详细分析: 1. **每日凌晨执行任务**:“0 0 * * *” 这个表达式表示每天的零点...
你可以设置多个属性,如`fixedRate`(固定间隔时间)、`cron`(CRON表达式)等,来控制任务的执行频率。例如: ```java import org.springframework.scheduling.annotation.Scheduled; import org.springframework....