先来看一个例子,(在结合自己的项目来看。)
Spring中可以通过配置方便的实现周期性定时任务管理,这需要用到以下几个类:
org.springframework.scheduling.quartz.MethodInvokingJobDetailFactoryBean --配置需要调度的Bean的某个方法org.springframework.scheduling.quartz.SimpleTriggerBean --定时器,负责配置启动时间、执行周期org.springframework.scheduling.quartz.SchedulerFactoryBean --触发器,负责配置所有定时器 实例如下:
<!-- 刷新系统参数文件配置 -->
<bean id="RefreshSystemParam" class="org.springframework.scheduling.quartz.MethodInvokingJobDetailFactoryBean">
<!--目标service-->
<property name="targetObject" ref="systemParamHandler" />
<!---要执行的方法名字->
<property name="targetMethod" value="scheduledRefreshSystemParam" />
<property name="concurrent" value="false" />
</bean>
<bean id="SystemParam.RefreshTrigger" class="org.springframework.scheduling.quartz.SimpleTriggerBean">
<!--给RefreshSystemParam配置时间信息,name的jobDetail是spring内部需要注入的名字--> <property name="jobDetail" ref="RefreshSystemParam" />
<!--服务器启动多久后开始执行-->
<property name="startDelay" value="0" />
<!-- 十分钟刷新一次 , 单位:毫秒 -->
<property name="repeatInterval" value="600000" />
</bean>
<!--时间或者用这个类控制:org.springframework.scheduling.quartz.CronTriggerBean-->
<!--<bean id="cronTrigger"class="org.springframework.scheduling.quartz.CronTriggerBean">
<property name="jobDetail">
<ref bean="methodInvokingJobDetail" />
</property>
<property name="cronExpression">
<value>0 0/5 * * * ?</value>
</property>
</bean>--> //注释代码
<!-- 定时任务刷新 -->
<bean class="org.springframework.scheduling.quartz.SchedulerFactoryBean">
<property name="triggers">
<list>
<ref bean="anyinfo.SystemParam.RefreshTrigger"/>
</list>
</property>
<property name="quartzProperties">
<props>
<prop key="org.quartz.threadPool.threadCount">2</prop>
</props>
</property>
<!--程序加载后是否自动启动-->
<property name="autoStartup">
<value>true</value>
</property>
</bean>
<!-- end -->
<!--
当前注释的内容配置的功能很强大,还可以配置星期几,哪一天,那一年,或者那一日的那一秒都是可以配置的
当前配置的是:每个周的星期天23:59:50 这个顺序是倒序配置的
value中的内容:
第6位:的1代表星期天,在国外星期天才是每个周的开始!
第5位: *代表所有月的星期天
第4位:?代表也没有具体到某日的星期天
第3位:23代表23点,注意:采用24小时
第2位:59代表分钟
第1位:50代表秒
<bean class="org.springframework.scheduling.quartz.CronTriggerBean">
<property name="jobDetail" ref="MyTimeSpringJob"/>
<property name="cronExpression" value="50 59 23 ? * 1"/>
</bean>
-->
本人用的是springmvc框架
在spring的配置文件中加入了如下代码:
<!-- cgy 拍品状态 start -->
<bean id="auctionItemStatus" class="com.ece.ec.quartz.AuctionItemStatus" />
<bean id="auctionItemStatusJob"
class="org.springframework.scheduling.quartz.MethodInvokingJobDetailFactoryBean">
<property name="targetObject" ref="auctionItemStatus" />
<property name="targetMethod" value="checkAuctionItemStatus" />
</bean>
<bean id="simpleTrigger3" class="org.springframework.scheduling.quartz.SimpleTriggerBean">
<property name="jobDetail" ref="auctionItemStatusJob" />
<property name="repeatInterval" value="60000" />
<property name="startDelay" value="60000" />
</bean>
<bean class="org.springframework.scheduling.quartz.SchedulerFactoryBean">
<property name="jobDetails">
<list>
<ref bean="auctionItemStatusJob" />
</list>
</property>
<property name="triggers">
<list>
<ref bean="simpleTrigger3" />
</list>
</property>
</bean>
<!-- cgy 拍品状态 end -->
如果需要些多个定时任务,直接 拷贝在写一个,重现配置一下name 和参数
文章来源:http://www.itnose.net/detail/6023572.html
更多文章:http://www.itnose.net/type/7.html
相关推荐
在多应用服务器负载均衡环境下,Spring Quartz定时任务的重复执行问题是一个常见的挑战。Spring Quartz是一个强大的、开源的作业调度框架,允许开发者定义和执行复杂的定时任务。然而,当多个服务器实例并行运行时,...
7. **多任务配置**:如果需要配置多个定时任务,只需重复上述步骤,为每个Job和Trigger创建不同的bean,并在适当的地方添加到Scheduler中。 通过以上步骤,你可以在Spring中成功配置并运行多个Quartz定时任务。记得...
在Spring中整合Quartz,我们可以利用Spring的管理能力,如bean的生命周期管理和事务管理,来更方便地创建和管理定时任务。 **Spring+Quartz动态定时任务创建** 将Spring与Quartz结合,我们可以方便地在运行时动态...
在Spring Boot应用中整合Quartz定时任务是一种常见的需求,它可以帮助我们执行周期性的后台任务,如数据同步、报表生成等。Spring Boot与Quartz的结合提供了便捷的配置方式,特别是通过YAML(YAML Ain't Markup ...
总的来说,“spring quartz定时任务demo”提供了一个直观的教程,帮助开发者理解如何在Spring项目中配置和使用Quartz进行定时任务的创建和管理。通过这个例子,你可以快速学习到如何定义Job,如何配置Trigger,以及...
本文将深入探讨如何在Spring中配置多个Quartz定时任务,并结合`quartz.properties`文件进行详细讲解。 首先,我们需要理解Quartz的基本概念。Quartz是开源的作业调度框架,允许应用程序在特定时间执行任务。它支持...
本文将详细介绍如何在Spring 3中配置Quartz来实现定时任务。 首先,理解定时任务的基本概念。定时任务是在指定时间点或按照一定规律自动执行的任务,这在业务系统中非常常见,例如数据清理、报表生成等。Quartz提供...
Spring通过其优秀的依赖注入(DI)和AOP(面向切面编程)特性,与Quartz相结合,简化了定时任务的配置和管理。下面我们将深入探讨如何利用Spring注解实现Quartz定时执行功能。 首先,我们需要引入Quartz和Spring的...
总结起来,Spring中的Quartz定时任务配置涉及到创建Job Bean、定义Job Detail Bean来指定执行方法,以及设置Cron Trigger Bean来控制执行时机。同时,还需要配置Quartz的属性文件来满足特定的应用需求。正确理解和...
在这两种方式中,Spring框架提供了自己的定时任务工具Spring Task,以及与专业定时任务框架Quartz集成的能力。 首先,对于Java自带的定时任务实现,我们可以使用java.util.Timer和java.util.TimerTask类。Timer类...
Spring Quartz 是一个强大的任务调度框架,它允许开发者在Java应用中定义和执行定时任务。本实例将探讨如何在Spring框架中集成Quartz,创建并运行一个简单的定时任务。以下是你需要知道的关键知识点: 1. **Quartz...
Spring Quartz定时任务是Java开发中常见的一种任务调度框架,它结合了Spring的优秀特性与Quartz的灵活性,使得开发者能够方便地在应用中实现定时任务的管理。在本压缩包中,包含的是`log4j-1.2.14.jar`这个日志处理...
本示例将详细讲解如何通过XML配置文件来实现Spring与Quartz的集成,从而构建一个定时任务Demo。 首先,Quartz是开源的作业调度框架,允许应用程序在预定义的时间执行特定的任务。Spring框架则提供了强大的依赖注入...
本项目“Springboot2-Quartz 后台可动态配置的定时任务”是基于SpringBoot 2.x版本与Quartz Scheduler整合的一个示例,它展示了如何在后台管理系统中动态地创建、更新和删除定时任务,以及监控这些任务的状态,为...
SpringBoot提供了对Quartz的自动配置,只需添加相关依赖,配置文件中设置一些属性,即可快速启动定时任务服务。 **8. 管理界面** 为了方便管理和监控定时任务,可以开发一个Web界面,利用Quartz提供的API查询Job和...
4. **部署与测试**:项目部署在Tomcat服务器上,当服务器启动时,Quartz会自动加载数据库中的定时任务。通过监控日志或者定制的监控界面,可以观察到定时任务的执行情况,验证其是否按照预期工作。 5. **Spring的...
在提供的文档“实现定时任务---spring中的quartz框架.docx”中,可能详细介绍了如何在Spring中配置Quartz,包括XML配置、注解配置,以及如何创建和配置作业和触发器。通过阅读这份文档,开发者可以快速理解和实践...
标题中的“spring2.0 Quartz 执行每天定时任务 普通普是执行任务”涉及到的是在Spring 2.0框架中使用Quartz库来创建并执行每天定时任务的场景。Quartz是一款强大的开源作业调度框架,它可以用来按计划执行各种任务,...
Spring 提供了对Quartz的全面支持,可以通过Spring的JobDetail和Trigger接口来配置和管理定时任务。通过在Spring的配置文件中定义bean,可以轻松地将Quartz任务纳入Spring的管理范围。 3. **中文注解** 在项目中...
Spring框架结合Quartz库,提供了一种强大而灵活的方式来管理这些定时任务。本项目旨在实现对Quartz定时任务的动态管理,包括添加、停止和恢复等操作。前端采用jQuery和Bootstrap构建,提供用户友好的可视化界面,...