`
xpninja
  • 浏览: 673 次
  • 性别: Icon_minigender_1
  • 来自: 北京
最近访客 更多访客>>
社区版块
存档分类
最新评论

浅谈Spring中的Quartz配置

阅读更多
引用

Quartz是一个强大的企业级任务调度框架,Spring中继承并简化了Quartz,下面就看看在Spring中怎样配置Quartz.

被调度的类:
package timer.quartz;

import java.util.Date;
import org.apache.log4j.Logger;

/**
 * @Title: QuartzJob.java
 * @Package timer.quartz
 * @Description: TODO
 * @author ZHAOXQ@EHOO.CN 
 * @date 2011-8-3 下午12:05:02
 * @version V1.0
 */
public class QuartzJob {
	private Logger logger = Logger.getLogger(this.getClass().getName());

	public void work() {
		logger.info("******开始进行任务调度******");
		//业务逻辑
		System.out.println("当前时间: " + new Date());
	}
}

配置文件quartz.xml:
<?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="timer.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">
			<!-- 每隔10秒执行一次 -->
			<value>0/10 * * * * ?</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 main;

import org.springframework.context.ApplicationContext;
import org.springframework.context.support.ClassPathXmlApplicationContext;

/**
 * @Title: QuartzJobMain.java
 * @Package main
 * @Description: TODO
 * @author ZHAOXQ@EHOO.CN 
 * @date 2011-8-3 下午12:03:54
 * @version V1.0
 */
public class QuartzJobMain {

	public static void main(String[] args) {
        ApplicationContext context = new ClassPathXmlApplicationContext("quartz.xml");  
        //如果配置文件中将startQuertz bean的lazy-init设置为false 则不用实例化  
//        context.getBean("startQuertz");  
	}
}

配置文件web.xml:
<?xml version="1.0" encoding="UTF-8"?>
<web-app xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns="http://java.sun.com/xml/ns/javaee" xmlns:web="http://java.sun.com/xml/ns/javaee/web-app_2_5.xsd" xsi:schemaLocation="http://java.sun.com/xml/ns/javaee http://java.sun.com/xml/ns/javaee/web-app_2_5.xsd" id="WebApp_ID" version="2.5">
  <display-name>webapps</display-name>
  
  <context-param>
  	<param-name>contextConfigLocation</param-name>
  	<param-value>/WEB-INF/classes/quartz.xml</param-value>
  </context-param>
  
  <servlet>
  	<servlet-name>context</servlet-name>
  	<servlet-class>
  		org.springframework.web.context.ContextLoaderServlet
  	</servlet-class>
  	<load-on-startup>1</load-on-startup>
  </servlet>
  
  <welcome-file-list>
    <welcome-file>index.html</welcome-file>
    <welcome-file>index.htm</welcome-file>
    <welcome-file>index.jsp</welcome-file>
    <welcome-file>default.html</welcome-file>
    <welcome-file>default.htm</welcome-file>
    <welcome-file>default.jsp</welcome-file>
  </welcome-file-list>
</web-app>

所需jar包:
分享到:
评论

相关推荐

    关于spring中quartz的配置

    以下将详细介绍如何在Spring中配置Quartz以及相关知识点。 1. **引入依赖** 在开始配置之前,首先需要在项目的`pom.xml`或`build.gradle`文件中引入Quartz和Spring相关的依赖库。对于Maven项目,可以添加如下依赖...

    Spring中的Quartz配置-Spring-定时器-java定时器.doc

    Spring 中的 Quartz 配置-Spring 定时器-java 定时器 在 Spring 框架中,Quartz 是一个非常流行的开源作业调度器,可以实现任务的定时执行。在本篇文章中,我们将讨论如何在 Spring 中配置 Quartz,以实现 Java ...

    Spring中Quartz的配置

    ### Spring中Quartz的配置详解 #### 一、前言 Spring框架因其强大的功能和灵活性在企业级应用开发中占据了一席之地。其中,对于定时任务的支持,Spring结合了Quartz这一优秀的开源任务调度框架,提供了更为灵活和...

    spring-quartz配置

    spring-quartz的标准配置文件

    Spring + Quartz配置实例(转载)

    在Spring中集成Quartz,主要涉及到以下几个关键知识点: 1. **Quartz的配置**:首先,你需要在项目的类路径下添加Quartz库的依赖,这通常通过Maven或Gradle的依赖管理来完成。在`lib`目录下可能包含了Quartz的JAR...

    spring+quartz demo

    Spring 提供了与 Quartz 集成的模块,使得在 Spring 应用程序中使用 Quartz 更加便捷,包括 Job 实例的管理、触发器的配置以及对 Quartz Scheduler 的控制。 在这个 "spring+quartz demo" 中,我们可以学习到如何将...

    转:spring多个定时任务quartz配置

    本文将深入探讨如何在Spring中配置多个Quartz定时任务,并结合`quartz.properties`文件进行详细讲解。 首先,我们需要理解Quartz的基本概念。Quartz是开源的作业调度框架,允许应用程序在特定时间执行任务。它支持...

    Spring Quartz如何动态配置时间

    在本文中,我们将讨论如何使用 Spring Quartz 实现动态配置时间,并提供了详细的实现步骤和实践经验。 动态配置时间的目的 在实际应用中,任务的执行时间往往需要根据业务需求进行动态调整,以满足不同的需求场景...

    spring 集成quartz 用数据库实现quartz的集群

    在Spring中,我们可以通过`@EnableScheduling`注解开启定时任务支持,然后通过`@Scheduled`注解在方法上定义定时规则。但这仅限于单机环境,若要实现分布式定时任务,我们需要引入Quartz。 集成Quartz的第一步是...

    spring集成quartz集群配置

    本文将深入探讨如何在Spring环境中集成Quartz以实现集群配置,以便于在分布式环境中进行高效的任务调度。 首先,理解Spring集成Quartz的核心在于Spring的Job接口和Quartz的Scheduler。Spring提供了`org.spring...

    quartz和spring-quartz

    Quartz和Spring-Quartz是两个在Java世界...“spring-quartz-demo”可能是一个完整的示例项目,你可以通过运行它来深入理解Quartz在Spring中的应用。通过研究这些资源,你可以更全面地掌握Quartz和Spring-Quartz的用法。

    springboot整合quartz定时任务yml文件配置方式

    以下将详细介绍如何在Spring Boot应用中使用YAML文件配置Quartz定时任务,以及涉及的Spring Cloud Alibaba、Dubbo和Nacos的相关知识。 首先,我们需要在`pom.xml`中引入相关的依赖。Spring Boot的`spring-boot-...

    spring-quartz定时设置详细说明

    2. 配置 Quartz:在 Spring 的配置文件(如 `application.properties` 或 `application.yml`)中,可以设置 Quartz 的基本属性,如线程池大小、作业存储策略等。 ```properties # application.properties 示例 ...

    Java_Spring与Quartz的整合

    在Java Spring中整合Quartz,可以利用Spring的管理能力来控制Quartz的作业和触发器,使得整个系统更加灵活和易于维护。以下将详细介绍如何进行Spring与Quartz的整合。 1. **集成步骤** - 添加依赖:首先,确保在...

    Spring整合quartz2.2.3总结,quartz动态定时任务,Quartz定时任务集群配置

    2. 配置Scheduler:在Spring的配置文件中,使用`SchedulerFactoryBean`来初始化和配置Quartz Scheduler。可以设置如数据库存储、线程池大小等参数。 3. 创建Job类:定义一个实现了`org.quartz.Job`接口的类,这是...

    Spring_QuartZDemo

    在Spring的配置文件中,我们首先需要定义一个`SchedulerFactoryBean`,它是Spring与Quartz的桥梁。例如: ```xml &lt;bean id="scheduler" class="org.springframework.scheduling.quartz.SchedulerFactoryBean"&gt; ...

    spring 配置quartz需要的jar包

    要在Spring中配置Quartz,你需要完成以下步骤: 1. **引入依赖**:在项目中添加上述两个jar包,并确保它们已被正确地引入到类路径中。 2. **配置Quartz**:在Spring的配置文件(如`applicationContext.xml`)中,...

    Spring -Quartz的配置

    通过以上步骤,你就成功地在Spring中配置了Quartz,可以利用它来执行定时任务。需要注意的是,Quartz的灵活性允许你根据需求配置多个Job和Trigger,甚至可以在运行时动态调整调度策略。结合Spring的DI和AOP特性,...

    spring+quartz使用jar包

    在Spring中配置好数据库连接,Quartz会自动处理这部分。 8. **lib目录下的jar包**:在“lib”目录下,通常会包含Spring和Quartz的jar文件,以及它们的依赖库。例如,`spring-context.jar`、`spring-beans.jar`、`...

Global site tag (gtag.js) - Google Analytics