不多说了,直接贴配置文件说明吧。
一、继承QuartzJobBean的配置
<?xml version="1.0" encoding="gb2312"?>
<!DOCTYPE beans PUBLIC "-//SPRING//DTD BEAN//EN"
"http://www.springframework.org/dtd/spring-beans.dtd">
<beans>
<bean name="warningTask" class="org.springframework.scheduling.quartz.JobDetailBean">
<property name="jobClass">
<value>com.xxx.xxx.TimedTask</value><!-- 任务类其继承QuartzJobBean-->
</property>
<property name="jobDataAsMap">
<map>
<entry key="earlyWarningMainThread">
<ref bean="earlyWarningMainThread" />
</entry>
<entry key="superviseRecordDomain">
<ref bean="superviseRecordDomain" /> <!-- 需要spring进行注入的服务-->
</entry>
</map>
</property>
</bean>
<bean id="cronTrigger" class="org.springframework.scheduling.quartz.CronTriggerBean">
<property name="jobDetail">
<ref bean="warningTask"/>
</property>
<property name="cronExpression">
<value>${task.time}</value><!-- 从外部注入的定时时间,具体可以查阅时间格式定义-->
</property>
</bean>
<bean id="quartzFactory" class="org.springframework.scheduling.quartz.SchedulerFactoryBean">
<property name="triggers">
<list>
<ref local="cronTrigger" />
</list>
</property>
</bean>
</beans>
其中TimedTask代码如下
public class TimedTask extends QuartzJobBean{
protected void executeInternal(JobExecutionContext arg0) throws JobExecutionException {
//定时方法
//do something
}
}
二、指定执行特定方法的配置
<?xml version="1.0" encoding="gb2312"?>
<!DOCTYPE beans PUBLIC "-//SPRING//DTD BEAN//EN"
"http://www.springframework.org/dtd/spring-beans.dtd">
<beans>
<bean id="sampledDataTask" class="com.xxx.SampledDataTask"/>
<bean id="sampledDataJobDetail"
class="org.springframework.scheduling.quartz.MethodInvokingJobDetailFactoryBean">
<property name="targetObject"><ref bean="sampledDataTask"/></property><!--指定那个类 -->
<property name="targetMethod"><value>task</value></property><!--指定类中的那个方法,为方法名-->
</bean>
<!--定时执行的配置-->
<bean id="cronTrigger" class="org.springframework.scheduling.quartz.CronTriggerBean">
<property name="jobDetail">
<ref bean="sampledDataJobDetail"/>
</property>
<property name="cronExpression">
<value>${task.time}</value>
</property>
</bean>
<!-- 按一定频率执行的配置 -->
<bean id="importDataJobDetail"
class="org.springframework.scheduling.quartz.MethodInvokingJobDetailFactoryBean">
<property name="targetObject"><ref bean="xmlDataImpDaemon"/></property>
<property name="targetMethod"><value>monitor</value></property>
</bean>
<bean id="simpleTrigger" class="org.springframework.scheduling.quartz.SimpleTriggerBean">
<property name="jobDetail">
<ref bean="importDataJobDetail"/>
</property>
<property name="startDelay">
<value>10000</value>
</property>
<property name="repeatInterval">
<value>${dataSwitch.repeat}</value>
</property>
</bean>
<bean id="quartzFactory" class="org.springframework.scheduling.quartz.SchedulerFactoryBean">
<property name="triggers">
<list>
<ref local="simpleTrigger"/>
<ref local="cronTrigger" />
</list>
</property>
</bean>
</beans>
PS:个人偏向第二种的用法,第一种与quartz的耦合性太强,并且在第一种的方式里面,必须配置指定注入那些服务,不能像其他那样只声明就可以利用Spring的IOC
分享到:
相关推荐
在本文中,我们将深入探讨如何在Spring中集成Quartz进行任务调度,并通过一个简单的示例来理解其工作原理。 首先,要在Spring中使用Quartz,你需要将`quartz-all-1.5.2.jar`等相关的Quartz库添加到项目的类路径中。...
本项目"spring+quartz任务调度代码版"显然是一个结合了这两者的实践案例,旨在展示如何在Spring环境下集成和使用Quartz进行任务调度。 Spring框架是一个开源的应用框架,它提供了丰富的功能,包括依赖注入、AOP...
- **Job和Trigger**:在Quartz中,Job是执行的具体任务,Trigger则是触发任务执行的规则。你可以根据需求定义多个Job和Trigger,并将它们关联起来。 3. **使用场景** - **日志清理**:定期清理旧的日志文件,释放...
在IT行业中,构建高效、可扩展的Web应用是至关重要的,而"spring+springMVC+mybatis+quartz动态定时任务创建"就是一个常见的技术栈,用于实现这样的目标。这个组合充分利用了各组件的优势,提供了强大的后端服务支持...
除了内置的`TaskScheduler`,Spring还支持集成第三方任务调度库,如Quartz。Quartz是一个强大且功能丰富的作业调度框架,允许创建复杂的调度规则。在描述中提到的`quartz-all-1.6.1.jar`是Quartz库的旧版本,可能...
标题“Spring quartz任务调度”指的是在Java开发中利用Spring框架集成Quartz库来实现应用程序的任务调度功能。Quartz是一款开源的作业调度框架,它允许开发者安排任务在特定时间执行,而Spring框架则提供了与Quartz...
**作业**(Job):Quartz中的作业是指一个可执行的任务,该任务通常由开发者实现,用于完成具体的业务逻辑。Quartz框架负责按照预设的规则调度这些作业的执行。 **触发器**(Trigger):触发器定义了作业的执行时间...
1. **作业(Job)**:Quartz中的作业是实际需要执行的任务,它定义了任务的行为。一个作业类可以被多个触发器触发,但每次只能有一个实例运行。 2. **触发器(Trigger)**:触发器决定何时启动作业。它可以是简单的...
"定时框架spring+quartz"的结合,就是将Quartz的定时功能与Spring的强大集成能力完美融合,为开发者提供了一种高效、灵活的定时任务解决方案。 Spring框架提供了多种方式来管理定时任务,包括使用Spring的`@...
SpringQuartz是一个强大的任务调度框架,它在Java应用程序中用于自动化执行特定任务,如定时生成文件、统计数据或执行后台清理工作。Quartz是开源的,具有高度灵活的调度功能,能够根据预定义的时间表触发任务,同时...
在Java开发中,任务调度是不可或缺的一部分,Spring框架提供了与Quartz集成的能力,使得我们可以方便地管理和执行定时任务。本文将详细介绍如何通过Spring和Quartz搭建任务调度系统,并解析配置文件中的关键组件及其...
Spring框架提供了对任务调度的强大支持,其中Spring Quartz是一个常用的集成解决方案。本篇将深入探讨如何使用Java和Spring Quartz来配置和调度cron任务。 首先,我们需要理解Spring Quartz的核心组件。`Job`接口...
通过Spring集成Quartz,开发者可以方便地在Java应用中实现复杂的定时任务调度。理解Quartz的核心组件、配置方式以及如何与Spring协作,是成功部署和维护定时任务的关键。同时,合理利用CronTrigger的灵活性,可以...
Quartz与Spring的集成使得我们可以利用Spring的IoC(控制反转)和AOP(面向切面编程)特性来更好地管理我们的任务。在Spring中配置Quartz,我们需要添加相关的依赖,创建SchedulerFactoryBean,定义JobDetail和...
在Quartz中实现动态集群,主要是通过共享JobStore实现的,例如使用SQLJobStore,这样所有节点都可以访问同一个作业存储,从而确保任务的一致性和避免冲突。 在这个项目中,结合Quartz和Spring Batch,开发者可能...
标题中的“spring2.0 Quartz 执行每天定时任务 普通普是执行任务”涉及到的是在Spring 2.0框架中使用Quartz库来创建并执行每天定时任务的场景。Quartz是一款强大的开源作业调度框架,它可以用来按计划执行各种任务,...
总结,Spring Boot集成Quartz定时器能够方便地创建和管理定时任务,同时利用Spring的依赖注入,使得Job可以灵活地调用其他服务或组件。这种方式使得我们的任务更加模块化和易于维护。在实际开发中,根据项目需求,...
总之,Quartz 是一个强大而灵活的定时任务调度框架,通过与 Spring 的集成,开发者可以方便地在应用中实现定时任务,而无需关心底层调度的复杂性。通过理解并熟练掌握这些基本概念和用法,你可以有效地利用 Quartz ...
当结合Quartz,一个强大的任务调度库,我们可以实现动态的定时任务创建,这在业务逻辑中有着广泛的应用,如数据同步、定时报表生成等。 **Spring框架** Spring框架是Java开发者必备的工具之一。它提供了一个统一的...
在Spring Boot项目中集成Quartz,我们可以利用Spring的依赖注入和生命周期管理,使定时任务的配置和管理变得更加便捷。 Quartz是一个开源的作业调度框架,它支持复杂的调度策略,例如重复、延迟执行等。Quartz能够...