FROM: http://developer.51cto.com/art/200906/131888.htm
quartz表达式配置详解见:http://learning.iteye.com/blog/1285187
表达式再现生成见: http://learning.iteye.com/blog/1066973
Quartz是一个强大的企业级任务调度框架,Spring中继承并简化了Quartz,下面就看看在Spring中怎样配置Quartz.(同种颜色表示相对应)
首先我们来写一个被调度的类:
package com.kay.quartz;
public class QuartzJob {
public void work(){
System.out.println("Quartz的任务调度!!!");
}
}
Spring的Quartz配置文件:
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE beans PUBLIC "-//SPRING//DTD BEAN//EN" "http://www.springframework.org/dtd/spring-beans.dtd">
<beans>
<!-- 要调用的工作类 -->
<bean id="quartzJob" class="com.kay.quartz.QuartzJob"></bean>
<!-- 定义调用对象和调用对象的方法 -->
<bean id="jobtask" class="org.springframework.scheduling.quartz.MethodInvokingJobDetailFactoryBean">
<!-- 调用的类 -->
<property name="targetObject">
<ref bean="quartzJob"/>
</property>
<!-- 调用类中的方法 -->
<property name="targetMethod">
<value>work</value>
</property>
</bean>
<!-- 定义触发时间 -->
<bean id="doTime" class="org.springframework.scheduling.quartz.CronTriggerBean">
<property name="jobDetail">
<ref bean="jobtask"/>
</property>
<!-- cron表达式 -->
<property name="cronExpression">
<value>10,15,20,25,30,35,40,45,50,55 * * * * ?</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="doTime"/>
</list>
</property>
</bean>
</beans>
测试程序:
package com.kay.quartz;
import org.springframework.context.ApplicationContext;
import org.springframework.context.support.ClassPathXmlApplicationContext;
public class MainTest{
/**
* @param args
*/
public static void main(String[] args) {
System.out.println("Test start.");
ApplicationContext context = new ClassPathXmlApplicationContext("quartz-config.xml");
//如果配置文件中将startQuertz bean的lazy-init设置为false 则不用实例化
//context.getBean("startQuertz");
System.out.print("Test end..");
}
}
分享到:
相关推荐
以下将详细介绍如何在Spring中配置Quartz以及相关知识点。 1. **引入依赖** 在开始配置之前,首先需要在项目的`pom.xml`或`build.gradle`文件中引入Quartz和Spring相关的依赖库。对于Maven项目,可以添加如下依赖...
Spring 中的 Quartz 配置-Spring 定时器-java 定时器 在 Spring 框架中,Quartz 是一个非常流行的开源作业调度器,可以实现任务的定时执行。在本篇文章中,我们将讨论如何在 Spring 中配置 Quartz,以实现 Java ...
在这段配置中,首先定义了要执行的任务对象`quartzJob`,然后通过`MethodInvokingJobDetailFactoryBean`指定了要执行的对象和方法。接着定义了触发器`doTime`,并通过`CronTriggerBean`设置了具体的触发时间。最后...
spring-quartz的标准配置文件
标题 "Spring + Quartz配置实例(转载)" 暗示了我们将讨论如何在Java环境中整合Spring框架与Quartz作业调度库的使用。Quartz是一个开源的作业调度库,它允许开发者安排任务以在特定时间执行,而Spring框架则是一个...
在 Spring 配置中,可以使用 `<bean>` 标签创建 JobDetail 实例,并关联 Job 类。 3. **Trigger 配置**: Trigger 决定了 Job 的执行时间。可以使用 CronTrigger 或 SimpleTrigger,前者基于 Cron 表达式,后者...
本文将深入探讨如何在Spring中配置多个Quartz定时任务,并结合`quartz.properties`文件进行详细讲解。 首先,我们需要理解Quartz的基本概念。Quartz是开源的作业调度框架,允许应用程序在特定时间执行任务。它支持...
在本文中,我们将讨论如何使用 Spring Quartz 实现动态配置时间,并提供了详细的实现步骤和实践经验。 动态配置时间的目的 在实际应用中,任务的执行时间往往需要根据业务需求进行动态调整,以满足不同的需求场景...
在Maven或Gradle的配置文件中,我们需要引入Quartz库以及Spring对Quartz的支持库。这些库将包含所有必要的类和接口,如`Scheduler`, `Job`, `Trigger`等,用于定义和管理定时任务。 接下来,配置Quartz。在Spring的...
这里,`myDS`是数据源的名称,需要与Spring配置中的`dataSource`引用匹配。 当多个Quartz节点在相同的数据库上运行时,它们会形成一个集群。每个节点都可以独立地调度和执行任务,而不会冲突。如果某个节点故障,...
学习Quartz和Spring-Quartz,不仅需要理解它们的基本概念,还要掌握如何在实际项目中进行配置和使用。例如,创建一个定时任务,你需要定义Job类,配置Trigger,然后在Spring的配置文件中设置Scheduler。此外,熟悉...
以下将详细介绍如何在Spring Boot应用中使用YAML文件配置Quartz定时任务,以及涉及的Spring Cloud Alibaba、Dubbo和Nacos的相关知识。 首先,我们需要在`pom.xml`中引入相关的依赖。Spring Boot的`spring-boot-...
2. 配置 Quartz:在 Spring 的配置文件(如 `application.properties` 或 `application.yml`)中,可以设置 Quartz 的基本属性,如线程池大小、作业存储策略等。 ```properties # application.properties 示例 ...
- 在Spring配置中,使用`<bean>`标签定义Trigger,并关联Job。 4. **启动Scheduler** - 在Spring应用启动时,通过`SchedulerFactoryBean`的`start()`方法启动Scheduler,开始监控并执行Job。 5. **动态管理Job**...
此外,Quartz还支持JobGroup(任务组)、TriggerGroup(触发器组)、JobDataMap(用于传递Job执行时的参数)等功能,这些都可以在Spring的配置中灵活运用。通过学习Spring_QuartZDemo,你可以掌握这些高级特性的用法...
2. 配置Scheduler:在Spring的配置文件中,使用`SchedulerFactoryBean`来初始化和配置Quartz Scheduler。可以设置如数据库存储、线程池大小等参数。 3. 创建Job类:定义一个实现了`org.quartz.Job`接口的类,这是...
在Spring中配置好数据库连接,Quartz会自动处理这部分。 8. **lib目录下的jar包**:在“lib”目录下,通常会包含Spring和Quartz的jar文件,以及它们的依赖库。例如,`spring-context.jar`、`spring-beans.jar`、`...
2. 配置 Scheduler:在 Spring 配置文件中,设置 Quartz 的 SchedulerFactoryBean,指定数据库存储(如果需要持久化任务信息)和相关的配置属性。 3. 定义 Job 和 Trigger:创建 Quartz 作业类(Job),实现 org....
本文将详细介绍如何在Spring 3中配置Quartz来实现定时任务。 首先,理解定时任务的基本概念。定时任务是在指定时间点或按照一定规律自动执行的任务,这在业务系统中非常常见,例如数据清理、报表生成等。Quartz提供...
在Java开发中,Spring框架与Quartz库的集成可以实现灵活且强大的定时任务管理。Spring提供了与Quartz的无缝整合,...同时,注意在生产环境中,可能还需要考虑集群环境下的Quartz配置,确保任务的正确执行和避免冲突。