要使用Spring的定时器,首先必须得所定时器的支持jar包加载到项目中的lib下。(quartz-1.7.3.jar---附件中可以下载)
在web.xml中加载spring的这个配置文件我就不多讲了。我喜欢把这个配置文件命名为(applicationContext-quartz.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.xsd">
<!-- 要调用的工作类 -->
<bean id="TaskTest" class="com.freshpower.pgs.sms.task.Task"></bean>
<!-- 可继续加新的任务 -->
<!-- 要调用的工作类结束 -->
<!-- 定义调用对象和调用对象的方法 -->
<bean id="jobtaskTest" class="org.springframework.scheduling.quartz.MethodInvokingJobDetailFactoryBean">
<!-- 调用的类 -->
<property name="targetObject">
<ref bean="TaskTest"/>
</property>
<property name="targetMethod">
<value>Load</value>
</property>
</bean>
<!-- 可继续加新的 -->
<!-- 定义调用对象和调用对象的方法结束 -->
<!-- 定义触发时间 -->
<bean id="doTimeTest" class="org.springframework.scheduling.quartz.CronTriggerBean">
<property name="jobDetail">
<ref bean="jobtaskTest"/>
</property>
<!-- cron表达式 此处定义为一直触发执行任务 -->
<property name="cronExpression">
<!--<value>10,15,20,25,30,35,40,45,50,55 * * * * ?</value> -->
<value>1/5 * * * * ?</value>
</property>
</bean>
<!-- 可继续加新的 -->
<!-- 定义触发时间结束 -->
<!-- 总管理类 如果将lazy-init='false'那么容器启动就会执行调度程序 -->
<bean id="startQuertz" lazy-init="false" autowire="no" class="org.springframework.scheduling.quartz.SchedulerFactoryBean">
<property name="triggers">
<list>
<ref bean="doTimeTest"/>
<!-- 可继续加新的 -->
</list>
</property>
</bean>
<!-- 总管理类结束 -->
</beans>
cron表达式在前一编文章中已经贴过了。有兴趣的可以去看看。
分享到:
相关推荐
首先,我们需要了解如何配置Spring定时器。在Spring Boot应用中,只需要在主配置类上添加`@EnableScheduling`注解,就能启动定时任务的调度器。例如: ```java import org.springframework.boot.SpringApplication;...
总的来说,这个"spring定时器简单的demo"是一个基础的Spring定时任务示例,展示了如何通过Spring Task模块在Spring应用中添加定时任务,以及如何在`applicationContext.xml`中进行配置。理解并掌握这一知识,对于...
本文旨在深入解析Spring定时器的时间配置规则,并通过具体的代码示例进行演示。 #### Cron表达式的构成 Cron表达式由六个或七个空格分隔的时间元素组成,这些元素分别代表: 1. **秒** (0–59) 2. **分钟** (0–59...
Spring定时器,也被称为Spring Boot的定时任务,是Spring框架中的一个强大功能,它允许开发者在特定的时间间隔执行任务,而无需手动管理线程。在实际的开发中,这一特性常用于实现数据清理、统计计算、发送邮件等...
Spring定时器通过提供丰富的配置选项和强大的`TaskScheduler`接口,成为企业级应用中定时任务的首选。使用Spring定时器,开发者能够更高效地管理和调度任务,从而提升系统的稳定性和可维护性。在实际项目中,可以...
在标题"spring定时器的包和配置文件"中,我们讨论的核心是Spring如何配置和使用定时器来自动化执行特定的任务。 首先,让我们了解Spring定时任务的基本概念。Spring定时器基于Java的`java.util.Timer`和`java.util....
总的来说,Spring自带的定时任务简单易用,适合简单的定时需求。而Quartz功能强大,适合处理复杂的调度场景。在选择使用哪种方式时,需要根据项目的实际需求进行权衡。无论选择哪一种,Spring都能提供良好的支持,让...
本篇将详细介绍如何在Spring中配置定时器,并通过一个实际的Demo来加深理解。 一、Spring定时任务概述 Spring提供了两种主要的定时任务实现方式:`TaskScheduler`和`TaskExecutor`,以及基于Quartz的`Spring...
下面是一个简单的例子,展示了如何使用Spring AOP和定时任务: ```java @Configuration @EnableAspectJAutoProxy @EnableScheduling public class AppConfig { @Bean public MyAspect myAspect() { return new ...
### Spring 定时器的使用 #### 背景与需求 在开发应用程序时,并非所有操作都需要用户主动触发。有些任务需要系统自动执行,比如数据同步、定期备份等。例如,电力行业的集抄系统(一种自动收集电表读数的系统)...
本篇将详细介绍如何配置和使用Spring的定时器来定时调用任务。 首先,让我们了解Spring Task的核心组件。`TaskExecutor`接口用于异步执行任务,而`TaskScheduler`接口则用于调度定时任务。在这个场景中,我们将重点...
下面是一个完整的Spring定时器示例: 1. **配置Spring配置类** 首先,我们需要创建一个配置类,启用定时任务支持,并提供一个`ThreadPoolTaskScheduler`实例,用于调度任务。 ```java @Configuration @...
以上内容详细介绍了Spring定时器的相关知识点,包括其基本概念、不同类型的定时器以及实际应用中的配置和实现方法。通过理解和掌握这些知识,开发者可以更高效地利用Spring框架来实现复杂的定时任务功能。
总结,Spring 框架结合 Spring MVC 和 Maven,为开发者提供了简单易用的方式来实现定时任务。通过 `@Scheduled` 注解,我们可以轻松地将任何方法转换为定时任务,而无需手动管理线程。Maven 则帮助我们管理依赖和...
要使用Spring的定时器功能,首先需要配置一个`TimerTask`实现,然后在Spring的XML配置文件中声明并配置定时任务,例如: ```xml <!-- 这里可以设置Task的属性 --> <bean id="timerTaskScheduler" class="org....
总结来说,Spring定时器的配置主要包括创建任务类、在配置文件中定义任务和调度规则,以及在Web应用中设置启动参数。通过这种方式,你可以轻松地在Spring应用中安排和管理周期性的后台任务,而无需手动干预。
总结,Spring定时器提供了强大的任务调度能力,无论是简单的定时执行还是复杂的任务配置,都能轻松应对。通过合理的配置和设计,我们可以构建出稳定且灵活的后台任务系统。在实际项目中,根据需求选择合适的方式来...
Spring两种定时器实例配置:Java的TimerTask类和OpenSymphony的Quartz。包含5种配置方式:timer普通定时器、timer特定方法定时器、quartz简单定时器、quartz精确定时器、quartz特定方法定时器。简单实用,一看就会。
1. **配置Spring定时器**:在Spring配置文件(如`applicationContext.xml`)中,你需要定义一个`TaskScheduler`的bean,通常使用`ThreadPoolTaskScheduler`实现。例如: ```xml ...
在IT行业中,定时任务是许多系统不可...两者各有优劣,Spring内置定时器简单易用,适合轻量级的定时需求;而Quartz功能强大,适用于复杂的定时场景,但配置和管理相对复杂。根据项目需求选择合适的定时器方案至关重要。