调度器的配置使用
org.springframework.context.support-3.0.5.RELEASE.jar
org.springframework.transaction-3.0.5.RELEASE.jar
application.xml的文件配置如下:
<bean id="casheTaskInfo" class="com.ifeng.sync.model.MyTaskInfo">
<property name="name" value="cacheClean"></property>
</bean>
<bean id="resendTaskInfo" class="com.ifeng.sync.model.MyTaskInfo">
<property name="name" value="resend"></property>
</bean>
<!--创建jobDetail 一个job任务 -->
<bean id="resendJobDetail" class="org.springframework.scheduling.quartz.JobDetailBean">
<property name="jobClass" value="com.ifeng.sync.timer.RetryJob" />
<property name="jobDataAsMap">
<map>
<entry key="taskInfo" value-ref="resendTaskInfo"></entry>
</map>
</property>
</bean>
<bean id="cacheCleanJobDetail" class="org.springframework.scheduling.quartz.JobDetailBean">
<property name="jobClass" value="com.ifeng.sync.timer.CacheCleanJob" />
<property name="jobDataAsMap">
<map>
<entry key="taskInfo" value-ref="casheTaskInfo"></entry>
</map>
</property>
</bean>
<bean id="retryTrigger" class="org.springframework.scheduling.quartz.SimpleTriggerBean">
<property name="JobDetail" ref="resendJobDetail" />
<!-- repeat every 1 seconds -->
<property name="repeatInterval" value="1000" />
</bean>
<bean id="cacheCleanTrigger" class="org.springframework.scheduling.quartz.SimpleTriggerBean">
<- - 触发器的创建-->
<property name="JobDetail"ref="cacheCleanJobDetail" /> < - - <property name="repeatCount" value="-1" /> 重复执行次数为无穷次 或则不添加这个属性,
重复执行次数也是无穷次- - >
<property name="JobDetail" ref="cacheCleanJobDetail" />
<!-- repeat every 1seconds -->
<property name="repeatInterval" value="1000" />
</bean>
<bean id="myScheduler" class="org.springframework.scheduling.quartz.SchedulerFactoryBean">
<property name="triggers">
<list>
<ref bean="cacheCleanTrigger" />
</list>
</property>
</bean>
创建job类 继承 QuartzJobBean
如下:
public class CacheCleanJob extends QuartzJobBean{
protected void executeInternal(JobExecutionContext context) throws JobExecutionException{
System.out.println("this job is begin");
}
}
public class RetryJobextends QuartzJobBean{
protected void executeInternal(JobExecutionContext context) throws JobExecutionException{
System.out.println("this job is begin");
}
注意:Job 实现implements StatefulJob 变成串行进程,当当前进程没有执行完是,其他进程不让执行。
分享到:
相关推荐
Spring对Quartz进行了集成,使其更易于在Spring应用程序中使用。Spring提供了`FactoryBean`类,如`SchedulerFactoryBean`,用于创建和管理Quartz的`Scheduler`实例。这使得我们可以利用Spring的依赖注入(DI)和管理...
在本文中,我们将讨论如何使用 Spring Quartz 实现动态配置时间,并提供了详细的实现步骤和实践经验。 动态配置时间的目的 在实际应用中,任务的执行时间往往需要根据业务需求进行动态调整,以满足不同的需求场景...
Spring 中的 Quartz 配置-Spring 定时器-...我们学习了 Quartz 的基本概念,了解了如何在 Spring 配置文件中定义 Quartz 的 bean,并了解了 Cron 表达式的使用。最后,我们总结了 Quartz 的优点,了解了它的强大功能。
但可以想象,如果包含了一个名为“demo”的项目,那么可能是一个示例工程,包含了使用Spring Quartz的配置和一个简单的定时任务示例,供读者下载并运行以加深理解。通常,这样的示例会包含Spring配置文件(如`...
如果使用的是Spring Boot,可以在`application.properties`或`application.yml`中配置Quartz,并通过`@EnableScheduling`注解启用定时任务支持。 8. **动态管理定时任务** Spring提供的`SchedulerFactoryBean`...
1. **配置**:在Spring应用上下文配置文件中,你需要声明一个SchedulerFactoryBean实例,它是Quartz调度器的Spring bean。通过设置相关的属性,如jobStoreType(用于持久化Job状态的存储类型)、triggers(定义任务...
2. **配置Spring**:在Spring的配置文件(如applicationContext.xml)中,我们需要配置一个SchedulerFactoryBean,这是Spring管理Quartz Scheduler的主要方式。示例配置如下: ```xml ...
本文将详细介绍如何在Spring环境中使用注解方式配置Quartz。 1. **引入依赖** 在项目中,你需要引入Quartz和Spring的相应依赖。在Maven的pom.xml文件中,添加以下依赖: ```xml <groupId>org.quartz-scheduler...
在Spring框架中,Quartz是一个强大的任务调度库,可以用于执行定时任务。本文将深入探讨如何在Spring中配置多个Quartz定时任务,并结合`quartz.properties`文件进行详细讲解。 首先,我们需要理解Quartz的基本概念...
在Spring中,通常会使用`org.springframework.scheduling.quartz.MethodInvokingJobDetailFactoryBean`来包装一个带有@Scheduled注解的方法。 5. **Cron表达式** CronTrigger允许使用Cron表达式来定义触发时间,如...
总的来说,“spring quartz定时任务demo”提供了一个直观的教程,帮助开发者理解如何在Spring项目中配置和使用Quartz进行定时任务的创建和管理。通过这个例子,你可以快速学习到如何定义Job,如何配置Trigger,以及...
总的来说,这个压缩包提供了不同版本的 Spring 和 Quartz jar 文件,对于需要在 Spring 应用中使用 Quartz 定时任务的开发者来说,是一个宝贵的资源。正确地集成和配置这些库可以有效地帮助实现高效、可靠的后台任务...
Spring 提供了与 Quartz 集成的模块,使得在 Spring 应用程序中使用 Quartz 更加便捷,包括 Job 实例的管理、触发器的配置以及对 Quartz Scheduler 的控制。 在这个 "spring+quartz demo" 中,我们可以学习到如何将...
在Spring中集成Quartz,我们需要创建一个`SchedulerFactoryBean`,并配置相关的属性,例如Job Store类型、数据源等。以下是一个基本的配置示例: ```xml <bean id="schedulerFactoryBean" class="org.spring...
2. **配置Quartz**:在Spring的配置文件(如`applicationContext.xml`)中,声明一个`SchedulerFactoryBean`,这是Spring提供的用于管理Quartz Scheduler的bean。 ```xml <bean id="scheduler" class="org.spring...
Spring通过提供一个抽象层,简化了Quartz的配置和使用,使得任务调度变得更加简单和灵活。 1. **Spring集成Quartz**:Spring为Quartz提供了声明式配置,可以在Spring的XML配置文件中定义Job(任务)和Trigger...
在这个版本中,Spring提供了一种更简单的方式来配置和管理Quartz任务,使得在Spring应用上下文中使用Quartz变得更加方便。 在Spring Quartz 1.8.x中,主要知识点包括以下几个方面: 1. **Spring集成Quartz**:...
以下是如何在Spring应用中配置和使用Spring Quartz的步骤: 1. **添加依赖**:在项目中引入Quartz和Spring的相应依赖库。 2. **配置Spring**:在Spring配置文件中声明`SchedulerFactoryBean`,并配置相关的Quartz...
这个项目的核心在于如何使用Spring管理Quartz定时任务的配置和执行。让我们深入了解一下相关知识点: 1. **Quartz简介**:Quartz是开源的作业调度框架,它允许应用程序定义和调度任务,以便在特定的时间点或按照...
2. **Spring对Quartz的支持**:Spring提供了一个名为`org.springframework.scheduling.quartz`的模块,该模块使得Quartz可以无缝集成到Spring应用中,简化了配置和任务的管理。 3. **配置Quartz in Spring**:在...